Oracle日期格式化以及extract函数的使用
Posted 心欲无痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle日期格式化以及extract函数的使用相关的知识,希望对你有一定的参考价值。
由于业务需要,这两天在学习Oracle,发现Oracle里面的日期它会给你转成一种很不习惯的格式,于是想着怎么样把它弄成年、月、日的格式来显示,查资料、看文档,最终找到解决办法了,其实是用到了to_char方法。
例如,在Oracle里面,一个表格里日期如2017-05-06,列名为time,查询后发现返回的是06-5月 -17这种格式的,看着贼不爽,要想把它转成年月日这种格式的,可以这样做,
to_char(time, \'YYYY-MM-DD\') as time // 括号里的time表示表中的列名,第二个time则表示转换后的日期列名仍然为time
现在转换后的日期就是这样的,2017-05-06
那么extract函数是干什么的呢?extract英语意思是提取、选取,顾名思义,它表示从一个date类型中截取某一特定的部分,例如,选取年或月或日。
例如有这样一个表格:
现在我要从表格myTable中选取time中年份为2018年的所有数据,可以这样做,
select title,play,time from myTable where extract(year from time) = 2018;
或者:
select title,play,to_char(time, \'YYYY-MM-DD\') as time from myTable where extract(year from time) = 2018
结果显然是都返回了(这里只是做个演示)
现在我要从表格myTable中选取time中月份为5的所有数据,操作为:
select title,play,time from myTable extract(month from time) = 5;
或者:
select title,play,to_char(time, \'YYYY-MM-DD\') as time from myTable where extract(month from time) = 5
从表格myTable中选取time中日期为6的所有数据,操作为:
select title,play,time from myTable extract(day from time) = 6;
或者:
slect title,play,to_char(time, \'YYYY-MM-DD\') as time from myTable where extract(day from time) = 6;
语法如下:extract(year|month|day|hour|minute|second from column_name) = value
以上是关于Oracle日期格式化以及extract函数的使用的主要内容,如果未能解决你的问题,请参考以下文章