yyyy-mm-dd hh24:mi:ss.ff  年-月-日 时:分:秒.毫秒

--上一月,上一年

select add_months(sysdate,-1) last_month,add_months(sysdate,-12) last_year from dual;

--下一月,下一年

select add_months(sysdate,1) last_month,add_months(sysdate,12) last_year from dual;

--当月最后一天

select LAST_DAY(sysdate) from dual;

--下周日期

select next_day(sysdate,'星期五') "下周五" from dual;

select next_day(sysdate, 'Friday') "Next Friday" from dual;

select next_day(sysdate, 4) from dual;

如果你不确定自己的时区或者你担心从一个时区移植到另一个时区时,SQL语句会出错,Oracle还允许你用数字的形式来表示工作日。

但是要记得一点:1表示的是周日,2表示的是周一,3表示的是周二,依此类推。

--固定日期一天

select * from account a where a.applytime>= to_date('2011-02-26','yyyy-mm-dd') and a.applytime< to_date('2011-02-27','yyyy-mm-dd');

--前天一天

select * from account a where a.applytime>= to_date(to_char(sysdate-2,'yyyy-mm-dd'),'yyyy-mm-dd') and a.applytime< to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd');

昨天一天

select * from dxw_tmp a where a.applytime>= to_date(to_char(sysdate-1,'yyyy-mm-dd'),'yyyy-mm-dd') and a.applytime< to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd');

--今天一天

select * from account a where a.applytime>= to_date(to_char(sysdate,'yyyy-mm-dd'),'yyyy-mm-dd') and a.applytime< to_date(to_char(sysdate+1,'yyyy-mm-dd'),'yyyy-mm-dd');

上月第一天

select to_date(to_char(add_months(sysdate,-2)+1,'yyyy-mm-dd'),'yyyy-mm-dd') from dual ;

上月最后一天

select to_date(to_char(add_months(sysdate,-1),'yyyy-mm-dd'),'yyyy-mm-dd') from dual;

select * from account a where a.applytime>= to_date(to_char(add_months(sysdate,-2)+1,'yyyy-mm-dd'),'yyyy-mm-dd') and a.applytime<= to_date(to_char(add_months(sysdate,-1),'yyyy-mm-dd'),'yyyy-mm-dd');

select to_date(to_char(add_months(sysdate,-2),'yyyy-mm-dd'),'yyyy-mm-dd') from dual;

select to_date(to_char(add_months(sysdate,-3)+1,'yyyy-mm-dd'),'yyyy-mm-dd') from dual ;

--trunc 截取日期

--当天零点

select trunc(sysdate,'dd') from dual;

--当月一号

select trunc(sysdate,'mm') from dual;

--本年一月一号

select trunc(sysdate,'yyyy') from dual;

--可以根据需要自己去截取

关于毫秒:

Oracle 毫秒的存储必须字段类型为 timestamp(6) –数字表示存储的毫秒位数

--当前毫秒级时间

select to_char(current_timestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual;

--字符串转为 timestamp类型

select to_timestamp('2012-02-03 10:29:46.453234','yyyy-mm-dd hh24:mi:ss.ff6') from dual;

--timestamp转为字符型

select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff6') from dual;

PS: ff后面的数字表示获得的毫秒位数,默认是6;一般ff3 获得三位毫秒数。

如果你想把DATE类型转换成TIMESTAMP类型,就使用CAST函数。

select cast(sysdate as timestamp) from dual;

但是值得注意的是:在转换后的时间段尾部有了一段“.000000”。这是因为从date转换过来的时候,没有小数秒的信息,缺省为0。而且显示格式是按照参数NLS_TIMESTAMP_FORMAT定的缺省格式显示。当你把一个表中date类型字段的数据移到另一个表的timestamp类型字段中去的时候,可以直接写INSERT SELECT语句,oracle会自动为你做转换的。

注意: to_char函数支持date和timestamp,但是trunc却不支持TIMESTAMP数据类型。这已经清楚表明了在当两个时间的差别极度重要的情况下,使用TIMESTAMP数据类型要比DATE数据类型更确切。

还值得一提的是:毫秒的显示精度是6位,不过有效位是3位,即最大值达到999,满1000ms就进为1s。当然你想保存6位毫秒也是有办法的:

insert 值指定六位:to_timestamp('2012-02-03 10:29:46.453234','yyyy-mm-dd hh24:mi:ss.ff6')

oracle 获取日期的毫秒_Oracle date timestamp 毫秒 - 时间函数总结(转)相关推荐

  1. date oracle 显示毫秒_Oracle date timestamp 毫秒 - 时间函数总结

    yyyy-mm-dd hh24:mi:ss.ff  年-月-日 时:分:秒.毫秒 关于毫秒: Oracle 毫秒的存储必须字段类型为 timestamp(6) –数字表示存储的毫秒位数 --当前毫秒级 ...

  2. oracle 过去毫秒,Oracle date timestamp 毫秒 - 时间函数总结(转)

    yyyy-mm-dd hh24:mi:ss.ff  年-月-日 时:分:秒.毫秒 --上一月,上一年 select add_months(sysdate,-1) last_month,add_mont ...

  3. oracle旬统计,oracle获取上一旬的开始时间和结束时间的函数

    -- 获取上旬开始时间 create or replace function fd_lastxunstart(rq in date) return string is refstr varchar2( ...

  4. oracle旬统计,oracle获取上一旬的开始时间和结束时间的实现函数

    -- 获取上旬开始时间 create or replace function fd_lastxunstart(rq in date) return string is refstr varchar2( ...

  5. oracle如何获取日期月份差,Oracle获取日期和月份

    这个要用到add_months()函数 参数 负数 代表 往前 正数 代表 往后. (1)oracle获得上个月的月份: select to_char(add_months(trunc(sysdate ...

  6. oracle 获取日期年份

    1. SELECT extract(month from sysdate) from dual; 注: https://blog.csdn.net/JIAMENGHUI/article/details ...

  7. oracle空值减去一个数_Oracle 空值(null)有关的函数

    环境:Oracle 10g 一开始接触的就是pascal语言,所以,有的时候不是很喜欢c语言的语法. C语言中有一种偷懒的写法(java中也存在),大概是这样:var:=(a>=b?1:2); ...

  8. Python 技术篇-按任意格式灵活获取日期、时间、年月日、时分秒。日期格式化。

    datetime 可以直接用来获取日期 import datetime datetime.date.today() # 直接获取日期 结果:2019-04-04 time 可以用来格式化获取日期,更灵 ...

  9. java根据周数获取日期_java获取日期的周数和所属年份

    在项目中遇到需要导出excel表格   表格的标题需要根据数据来动态获取 格式为     2017年第 50  周计划检修申报.实施确认表 获取日期所属周数 Date date = new Date( ...

  10. oracle查看日期是第几周

    https://www.2cto.com/database/201302/191827.html oracle查看日期是第几周 系统当前时间是多少周,就是是今年的第几个星期 www.2cto.com ...

最新文章

  1. css:z-index
  2. phpstorm 提示请配置PHP解释器的解决办法
  3. 数据中心余热回收再思考
  4. 软件测试矩阵,什么是过程/数据矩阵(U/C矩阵)?
  5. ios15使用NSXMLParser解析XML
  6. 一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)
  7. 容器技术Docker K8s 2 云原生容器技术概述
  8. 全国省市区数据SQL - 2017年数据(三级联动)
  9. 程序员(应届生)求职简历模板+LaTex(overleaf)简历制作+博士简历模板分享+简历赏析
  10. kaldi 声纹识别系统(1)原理解析:基于x-vector
  11. 论“搜狗”输入法对用户的影响
  12. 采用 MRT-LBM 模拟旋转圆柱绕流2---MATLAB代码--王富海2017--基于 MRT-LBM 的流场与声场仿真计算
  13. 爱快路由器 默认ssh 管理用户名 sshd
  14. 今天安利几个App给你
  15. 【架构】大数据风控数据系统架构
  16. JQuery 遍历List,数组,对象
  17. 如何撰写高水平的学术论文
  18. 【硬盘】2021-西部数据叠瓦盘(SMR)、垂直盘(CMR/PMR)型号、容量大全
  19. 阿里云服务器为什么总是那么不稳定经常崩溃掉线?
  20. 批处理获取笔记本电池状态

热门文章

  1. 口袋的天空(Kruscal)
  2. adb命令之service call
  3. 2020年全球搜索引擎市场份额和全球排名分析
  4. IDEA2017配置springmvc遇到的错误
  5. 在EXCEL中插入超级链接
  6. 很舒服的几句话,心静,人就不会累了
  7. Elasticsearch语法大全
  8. 云上PDF怎么删除页眉页脚_有办法了!批量删除多个Word页眉页脚
  9. easypanel b.php,easypanel 免费主机面板
  10. VirtualBox Guest Additions installation