Oracle——trunc()函数的使用
trunc是oracle数据库中一种格式化函数。
1.处理日期
1.1.当年第一天:
SELECT TRUNC(SYSDATE,'YYYY') FROM DUAL;
SELECT TRUNC(SYSDATE,'YY') FROM DUAL;
SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL;
--返回结果是2019/1/1
1.2.当月第一天:
SELECT TRUNC(SYSDATE,'MM') FROM DUAL;
SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL;
--返回结果:2019/1/1。很尴尬,我现在是一月份,所以看不出来区别,如果是2月份,应该是2019/2/1
1.3.本周第一天:
SELECT TRUNC(SYSDATE,'D') FROM DUAL;
SELECT TRUNC(SYSDATE,'DAY') FROM DUAL;
--返回结果是:2019/1/27(周日为第一天,当前时间是:2019-1-28,星期二)
1.4.当前小时时间,精确到小时:
SELECT TRUNC(SYSDATE,'HH') FROM DUAL;
SELECT TRUNC(SYSDATE,'HH24') FROM DUAL;
--返回结果是:2019/1/28 16:00:00(当前时间是:2019-01-28 16:50:35)
1.5.当前分钟时间,精确到分钟。(没有精确到秒的用法) :
SELECT TRUNC(SYSDATE,'MI') FROM DUAL;
--返回结果:2019/1/28 16:52:00
1.6.当前季度第一天:
SELECT TRUNC(SYSDATE,'Q') FROM DUAL;
--返回结果:2019/1/1(我当前时间是2019-01-28 16:55:20)
1.7.昨天、明天:
SELECT TRUNC(SYSDATE+1) FROM DUAL;--明天,返回结果:2019/1/29
SELECT TRUNC(SYSDATE-1) FROM DUAL;--昨天,返回结果:2019/1/27
1.8.计算两个时间相差的天数:
SELECT TRUNC(SYSDATE-TO_DATE('2019-2-10 18:00:00','YYYY/MM/DD HH24:MI:SS')) FROM DUAL; --结果:-13
SELECT TRUNC(SYSDATE-TO_DATE('2019-2-10 12:00:00','YYYY/MM/DD HH24:MI:SS')) FROM DUAL; --结果:-12
SELECT TRUNC(SYSDATE-TO_DATE('2019-1-10 12:00:00','YYYY/MM/DD HH24:MI:SS')) FROM DUAL; --结果:18
SELECT TRUNC(SYSDATE-TO_DATE('2019-1-10 18:00:00','YYYY/MM/DD HH24:MI:SS')) FROM DUAL; --结果:17
--注意:我当前时间是2019-01-28 17:02:16。我比较的时间分别是2019-2-10 18:00:00,2019-2-10 12:00:00,2019-1-10 12:00:00,2019-1-10 18:00:00与当前时间比较
1.9.需要注意:
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS 系统日期,TO_CHAR(TRUNC(SYSDATE),'YYYY-MM-DD HH24:MI:SS') AS trunc日期 FROM DUAL;
--返回结果如下:
系统日期 TRUNC日期
------------------- -------------------
2019-01-28 17:10:19 2019-01-28 00:00:00
--注意这两种查询的区别,
2.处理数字:
用法:TRUNC(NUMBER,length),length表示会保留小数点后面几位数字,如果没有则只保留整数部分,注意:这个不会对数字进行四舍五入
SELECT TRUNC(1234.123456789) FROM DUAL;--
SELECT TRUNC(1234.123456789,0) FROM DUAL;--
SELECT TRUNC(1234.123456789,3) FROM DUAL;1234.123
SELECT TRUNC(1234.123456789,5) FROM DUAL;--1234.12345
Oracle——trunc()函数的使用的更多相关文章
- Oracle trunc()函数的用法
Oracle trunc()函数的用法 /**************日期********************/1.select trunc(sysdate) from dual --2013-0 ...
- Oracle trunc函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- oracle获取本月第一天和最后一天及Oracle trunc()函数的用法
select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天", to_cha ...
- Oracle trunc()函数
Oracle trunc()函数的用法 --Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysd ...
- Oracle trunc()函数的用法--来着心静禅定ing
1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值. 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指 ...
- Oracle trunc() 函数处理数字、日期的整理
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
- Oracle trunc()函数的用法及四舍五入 round函数
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2011 ...
- [转]Oracle trunc()函数的用法
原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元 ...
- Oracle trunc()函数,decode()函数,substr函数,GREATEST函数,java中substring函数的用法
--Oracle trunc()函数的用法/**************日期********************/1.select trunc(sysdate) from dual --2013- ...
- Oracle - Trunc() 函数截取日期&截取数值
Oracle TRUNC函数可以截取数字和日期类型:截取日期:select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --显示当前时间 s ...
随机推荐
- Spring钩子方法和钩子接口的使用详解
本文转自:http://www.sohu.com/a/166804449_714863 前言 SpringFramework其实具有很高的扩展性,只是很少人喜欢挖掘那些扩展点,而且官方的Refrenc ...
- 01Hadoop二次排序
我的目的: 示例: 2012,01,01,352011,12,23,-42012,01,01,432012,01,01,232011,12,23,52011,4,1,22011,4,1,56 结果: ...
- centos7.3安装nvidia驱动和cuda9
一, 挂载本地源镜像 1) 下载操作系统镜像 所有服务器操作系统必须统一,本平台只支持 CentOS 7.3 1611,镜像下载地址. 2) 上传镜像到服务器 ,假设上传在 root 下 3) 建立挂 ...
- 24小时学通Linux内核之电源开和关时都发生了什么
说实话感觉自己快写不下去了,其一是有些勉强跟不上来,其二是感觉自己越写越差,刚开始可能是新鲜感以及很多读者的鼓励,现在就是想快点完成自己制定的任务,不过总有几个读者给自己鼓励,很欣慰的事情,不多感慨了 ...
- 配置python开发环境(Eclipse + pyDev)
jdk-11.0.2eclipse 2018-12python 3.7.2 1. install jdk, 配置环境变量 新建JAVA_HOME 系统变量,C:\Program Files\Java\ ...
- jsp中相对路劲
.代表当前目录 ..代表上一层目录 例如:如下文件,aliCashier.html要引入images下的图片,应该写成../../static/images/logo.png,此处会找到本地静态路径. ...
- 使用AS-REP Roasting和kerberoasting攻击kerberos
准备工作 ''' PowerView是PowerSploit框架的一个子集,里面继承了很多和渗透相关的powershell脚本下载地址:https://github.com/PowerShellMaf ...
- Linux系统安全之pam后门安装使用详解
一.查看系统pam版本: [root@redkey ~]# rpm -qa | grep pam pam-1.1.1-4.el6.x86_64 二.下载对应版本的pam模块 http://www.li ...
- java8时间类的一些封装
1.判断平年和闰年 (prolepticYear & 3) == 0 这个条件使用了位运算,与上3在二进制计算下即为:& 00…011.目的是保留最后2位二进制数,然后判断是否最后两位 ...
- HTML5在手机端实现视频全屏展示
最近做项目,遇到一个问题,在手机上要实现视频的全屏播放功能.测试了很久,终于找到解决办法. 第一种:将视频放大来控制. 视频在播放的时候,全屏是根据高度来的,如果设置视频 video 标签的宽度是 1 ...