oracle如何格式化日期,Oracle 日期格式化处理汇总[通俗易懂]

oracle如何格式化日期,Oracle 日期格式化处理汇总[通俗易懂]一、日期及时间格式化应用TO_CHAR(日期,格式化参数)1、返回任意有效分割符拼接的年月日字符串1.1、Selectto_char(sysdate,’yyyy/mm/dd’)Fromdual;*************************2015/04/29(即返回以’/’分隔符连接的字符串,也可以替换为’^’连接则结果为2015^04^29,也可以替换为’-‘则结果为2015-0…

大家好,又见面了,我是你们的朋友全栈君。

一、 日期及时间格式化应用TO_CHAR(日期,格式化参数)

1、返回任意有效分割符拼接的年月日字符串

1.1、Select to_char(sysdate,'yyyy/mm/dd') From dual;

*************************

2015/04/29 (即返回以’/’分隔符连接的字符串,也可以替换为’^’连接则结果为2015^04^29,也可以替换为’-‘则结果为2015-04-29)

1.2、Select to_char(sysdate,’yyyy/mm/dd hh:mm:ss’) From dual;

****************************

2015/04/29 03:04:40

1.3、 Select to_char(sysdate,’AD yyyy-mm-dd hh:mm:ss’) From dual;

*****************************

公元 2015-04-29 03:04:33

1.4、 Select to_char(sysdate,’BC yyyy-mm-dd hh:mm:ss’) From dual;

*****************************

公元 2015-04-29 03:05:53

1.5、Select to_char(sysdate,’YYYY-MM-DD PM hh24:mi:ss’) From dual;/**hh12:十二小时制**/

****************************

2015-04-29 下午 15:12:21

二、获取日期字符串的对应的数据

2.1、日期换算为对应的世纪 cc/scc(S前缀指定如遇公元前的显示,会在显示前加(-) 提示:

* 如果年份中最后两位数字在01到99(含)之间,则返回值等于年份前两位+1

* 如果年份中最后两位数字是00,则返回值与年份前两位相同)

Select to_char(to_date(‘2001-8-3′,’YYYY-MM-DD’),’cc’) || ‘世纪’ From dual;

*********

21世纪

2.2、指定日期在周中的数值 D(范围:1-7)

Select ‘星期’ || (case to_char(to_date(‘2015-04-05′,’YYYY-MM-DD’),’D’) when ‘1’ then ‘日’

else to_char(to_char(to_date(‘2015-04-05′,’YYYY-MM-DD’),’D’)-1) end)

From dual;/*是按阳历的星期日,这里返回的是1,则相应地星期三则返回的是4,所以做了下处理*/

**************************

星期日

2.3、指定日期在对应月份的天数DD(1-31),DDD当前年的天数,DAY 当前周的天数(直接返回星期X)

Select to_char(to_date(‘2015-04-01′,’yyyy-mm-dd’),’DD’) from dual;

************

01

2.4、指定日期的月份简写,

Select to_char(sysdate,’MON’) From dual;

*************

4月

2.5、YEAR/SYEAR 返回字符型年,此处s前缀与SCC处相同

Select to_char(sysdate,’year’) From dual;

**************

twenty fifteen

2.6、YYYY返回指定日期的数字年份、MM返回指定日期的月份(01-12)、 am hh12/am hh24、Mi返回指定日期的分(00-59)、SS返回指定日期的秒(00-59)、SS返回指定日期的秒(00-59)、Y,YYY 返回有逗号分隔显示的年2,015、

Y/YY/YYY 以指定长度返回日期的年份

2.7、Q 返回指定日期的季度(范围:1-4)、返回指定日期在当月中的第X周(范围:1-5)、WW 返回指定日期在当年中的第X周(范围:1-53)、J 自公元前 4712 年1月1日到指定日期的总天数、SSSSS 返回自午夜到指定时间共逝去的秒数(范围:0-86399)

Select ‘第’||to_char(to_date(‘2015-04-09′,’yyyy-mm-dd’),’w’)||’周’ from dual;

*********************

第2周

2.8、DL 根据数据中参数中的格式返回长日期形式、DS 与上相同返回短日期形式(2015-04-29)、TS返回的是时间(下午 3:55:31)、DY返回的是星期几(星期三)

Select to_char(sysdate,’DL’) from dual;

***************

2015年4月29日 星期三

三、简单应用

3.1、获取指定日期在同一周,周一的日期(+2 就是获取周一,+3就是周二,以此类推最大加8 就是当前周星期日,若加9就是下一周的星期一)

Select to_date(‘2015-04-02’, ‘yyyy-mm-dd’)- to_char(to_date(‘2015-04-02’, ‘yyyy-mm-dd’), ‘d’) + 2

From dual;

****************

2015-03-30

3.2、 返回当年的第XXX天对应的日期

Select to_date(’10’,’ddd’) from dual;

*************

2015-01-10

3.3当前时间减去7分钟的时间

select sysdate,sysdate – interval ‘7’ MINUTE from dual;

当前时间减去7小时的时间

select sysdate – interval ‘7’ hour from dual;

当前时间减去7天的时间

select sysdate – interval ‘7’ day from dual;

当前时间减去7月的时间

select sysdate,sysdate – interval ‘7’ month from dual;

当前时间减去7年的时间

select sysdate,sysdate – interval ‘7’ year from dual;

时间间隔乘以一个数字

select sysdate,sysdate – 8*interval ‘7’ hour from dual;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137665.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1553B总线协议

    1553B总线协议概述1553B总线组成包括总线控制端(BC:BusControl)、远程终端(RT:RemoteTerminal)和总线监视端(MT:MonitorTerminal)。总线控制端(BC:Bu

    2022年8月6日
    2
  • 使用Chrome Frame插件解决IE浏览器兼容问题

    使用Chrome Frame插件解决IE浏览器兼容问题时不时碰到客户的浏览器为IE7,IE8,甚至IE6的,他们不能升级浏览器,因为升级后,机器中其它的重要系统无法访问。而新系统的前端又需要浏览器的支持,比如H5,SVG等等,换框架结构,成本无疑是巨大的,而且风险不可控。针对此种情况,安装GoogleFrame是相对非常完美的解决方案,不要求升级浏览器,只安装一个插件,且对原系统无任何干扰,新系统也可根据情况对是否使用GoogleFrame插件进…

    2022年7月16日
    12
  • Netty框架的下载「建议收藏」

    1.Netty框架Jar包的下载:上图中标记的点都需要√上,并且文件夹的位置表示,会将下载好的Netty中的相关文件放在指定的目录下的lib文件夹下面。然后点击搜索,在下拉框中选择合适的版本进行下载…

    2022年4月11日
    51
  • SQL的多表查询

    SQL的多表查询

    2021年7月20日
    49
  • toArray方法总结

    toArray方法总结toArray方法涉及java的泛型,反射,数组的协变,jvm等知识。Java标准库中Collection接口定义了toArray方法,如果传入参数为空,则返回Object[]数组,如果传入参数为T[],则返回参数为传入参数的运行时类型。以下是ArrayList的实现:

    2022年5月15日
    66
  • 静态变量存储在哪个区

    静态变量存储在哪个区美团2017校园招聘Android静态变量存储在__区A全局区B堆C栈D常量区2017年3月21日19:00开始笔试,选项凭回忆打的,未全匹配。本人参考答案:A知识点内存到底分几个区?1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程

    2022年4月27日
    73

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号