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')

timestamp显示毫秒_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. 两个时间计算毫秒在线_SPL 的日期时间函数(下)

    4使用日期时间数据的计算 除了直接从日期时间数据中获取信息,在SPL中还可以使用日期时间类数据来执行各类计算. 最常用的有关日期的计算就是计算年龄: A1和B1中的数据如下: 在第2行用age() 函 ...

  4. DB2时间函数 实现 时间加减

    时间加减:后边记得跟上时间类型如day.HOUR   TIMESTAMP ( TIMESTAMP(DEF_TIME)+1 day)+18 HOUR       DB2时间函数是我们最常见的函数之一,下 ...

  5. mysql日期减后取月_mysql加减时间-函数-时间加减

    select timediff('23:40:00', ' 18:30:00'); -- 两时间相减 SELECT substring( timediff('23:40:00', ' 18:30:00 ...

  6. date oracle 显示毫秒_oracle数据库to_date日期格式化到毫秒 | 学步园

    事由:一个数据导入功能,其通过视图表里一条数据的时间字段作为判断是否已导入的标识. 每次记录最后导入的一条数据的时间字段,下一次判断则导入上一次记录下的时间字段值以后的数据. 失败经验:网上看到有网友 ...

  7. mysql date timestamp_【Mysql】Datetime和Timestamp区别,及mysql中各种时间的使用

    说到数据库时间类型,大部分同学都会想到date.datetime.timestamp之类的. 我之前在项目遇到一个问题,测试同事在测试时,由于会测试205几年的数据,在入库时会抛出数据库异常,原因就是 ...

  8. oracle数据库日期格式的运算,Oracle时间类型date,timestamp时间差计算

    Oracle的时间类型有两种date和timestamp.   date精确到秒,timestamp精确到毫秒. 1.计算date类型的时间差 可以先把年,月,日,小时,分,秒用to_char函数拆分 ...

  9. insert语句插数据入表的时候,Date带毫秒,并且会进1. 2022-06-18 01:07:18.523 入表时间为2022-06-18 01:07:19

    insert语句插数据入表的时候,Date带毫秒,并且会进1 先来看一下SQL,如下: insert into mcc_advice_his (ADVICE_ID, ADVICE_TYPE, SUBS ...

  10. Timestamp、String、Date之间的转换

    2019独角兽企业重金招聘Python工程师标准>>> 用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时 ...

最新文章

  1. 递归--练习4--noi666放苹果
  2. java什么是函数式编程,Java 函数式编程(一)初识篇
  3. 1507四舍五入c语言,EXCEL中四舍五入该怎么办
  4. 织梦检测环境不支持mysql_本地测试织梦dedeCMS 安装环境
  5. 6.IDA-重命名、注释
  6. Spark-Serialization序列化的2种方式解释对比使用场景
  7. Confluence 6 审查日志的对象
  8. 程序员应该知道的Mac工具
  9. 数据中台之血缘篇:Atlas 详解
  10. 什么是APS系统?导入APS要注意什么?值得反复观看
  11. (windows)Hexo博客建站$ npm install -g hexo-cli时遇到npm ERR! Response timeout……的解决方案
  12. 银行排队系统 c语言,C++实现银行排队系统
  13. 揪心的问题-f2py
  14. 计算机学院军训特色标语,各具学院特色的军训口号
  15. 电脑默认按住了ctrl键的解决办法
  16. 西门子828D 802 810 840Dsl PLC密码获取
  17. STM32F103芯片 LQFP100封装引脚分布
  18. 爆肝万字,终于搞定这篇⛵神经网络搭建全全全流程!学不会你来找我~
  19. 24届近3年安徽大学自动化考研院校分析
  20. 2 thinkcmf5.0 pc端和移动端自动切换

热门文章

  1. pygame安装教程(小白入手)
  2. 华景机器人百度_qq群机器人凉了,晨风创始人被抓,酷Q停止运营!
  3. html中css层叠样式表(行内样式,内嵌式,外部式)
  4. php 批量采集 邮箱,万能全网邮箱批量采集工具按照关键字搜索邮箱教程
  5. 期刊分类abcde_ABCD期刊分类目录
  6. 【通俗理解】开漏/开集,线与
  7. 反编译apk,修改登录成功
  8. matlab遗传算法函数实例,三个遗传算法matlab程序实例
  9. ISO18000-6B和ISO18000-6C(EPC C1G2)标准的优点区别
  10. SEO人员,你真的要做一个采集侠吗?