在Oracle中,方法没有SQL Server那么多
一 转换方法
to_date() :作用将字符类型按一定格式转化为日期类型: to_date(‘2004-11-27 13:34:43’, ‘yyyy-mm-dd hh24:mi:ss’)
to_char():转换成字符串类型,如:To_char(1234.5, ‘$9999.9‘),结果:$1234.5
to_number() :转换成数值类型,如:To_number(‘1234.5‘),结果:1234.5
Oracle的to_date()方法功能类似于SQL Server中的convert方法
二 Oracle中日期格式
YYYY:四位表示的年份
YYY,YY,Y:年份的最后三位、两位或一位,缺省为当前世纪
MM:01~12的月份编号
MONTH:九个字符表示的月份,右边用空格填补
MON:三位字符的月份缩写
WW:一年中的星期
D:星期中的第几天
DD:月份中的第几天
DDD:年所中的第几天
DAY:九个字符表示的天的全称,右边用空格补齐
HH,HH12:一天中的第几个小时,12进制表示法
HH24:一天中的第几个小时,取值为00~23
MI:一小时中的分钟
SS:一分钟中的秒
SSSS:从午夜开始过去的秒数
将日期格式转换成char类型的之后是可以进行大小比较的,Java中转换日期格式YYYY-MM-DD HH:mm:ss 而在sql中因为不区分大小写应该写作YYYY-MM-DD HH24:MI:SS
三 Oracle中日期处理方法
Oracle中日期处理方法也是非常丰富的 支持日期运算 Select sysdate+7 from dual;
①当前日期和时间 sysdate
Select sysdate from dual;
②本月最后一天 last_day(sysdate)
Select last_day(sysdate) from dual;
③当前日期d后推n个月 Add_months(d,n)
Select add_months(sysdate,2) from dual;
④从特定日期得到之后的第一个星期几的日期。NEXT_DAY(d, day_of_week)
SELECT next_day(to_date(‘20140404‘,‘YYYYMMDD‘),1) FROM dual;(1,“”星期一‘应该都可以 没测试’)
四 Oracle中to_char方法
to_char方法比想象中要强大 他可以实现和SQL Server中日期函数datepart datename的功能
Select to_char(sysdate,‘Q‘) from dual; 季度
Select to_char(sysdate,‘WW‘) from dual; WW 当年第几周 。
Select to_char(sysdate,‘W‘) from dual; W 本月第几周。
Select to_char(sysdate,‘DDD‘) from dual; DDD 当年第几天, 1月1日为001
Select to_char(sysdate,‘DD‘) from dual; DD 当月第几天。
Select to_char(sysdate,‘D‘) from dual; D 周内第几天。
Select to_char(sysdate,‘HH‘) from dual; HH或HH12 12进制小时数
Select to_char(sysdate,‘HH24‘) from dual; HH24 24小时制
转载自:http://www.cnblogs.com/yydcdut/p/3644007.html
原文地址:https://www.cnblogs.com/Revelation/p/9197942.html