orcale 中日期类型相加的处理
好久没有来更新Blog了
工作了,比较忙了,自己的时间不多了。 谁让你是代码民工那~~~
以前也没怎么用过Oracle,对其中的一些函数不多熟悉,近日来做了些研究,现总结一下,记下来,以后用着方便。
1。对于日期类型转换:
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') --yyyy :年,mm:月,dd:日,hh24:24小时,mi:分,ss:秒
2.日期类型的相加减:
select to_number(to_date('20061225170000','yyyymmddhh24miss') - to_date('20061225000000','yyyymmddhh24miss')) *24
from dual;
-----
TO_NUMBER(TO_DATE('20061225170
17
乘以24之后才能得到真正的小时数。两个日期类型相减,得到的是以天为单位的,乘以24就得到小时数了。
3。add_months : add_months(日期类型,number),其中number可以为正或负。这个可以求上下月。
4。十六进制和十进制转换。
16 to 10 :select to_char('65535','XXXX') as HEX from dual;
--
HEX
FFFF
10 to 16 : select to_number('f','xx') as DEC from dual;
2 to 10 : select bin_to_number(1,0,1) from dual;
工作了,比较忙了,自己的时间不多了。 谁让你是代码民工那~~~
以前也没怎么用过Oracle,对其中的一些函数不多熟悉,近日来做了些研究,现总结一下,记下来,以后用着方便。
1。对于日期类型转换:
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') --yyyy :年,mm:月,dd:日,hh24:24小时,mi:分,ss:秒
2.日期类型的相加减:
select to_number(to_date('20061225170000','yyyymmddhh24miss') - to_date('20061225000000','yyyymmddhh24miss')) *24
from dual;
-----
TO_NUMBER(TO_DATE('20061225170
17
乘以24之后才能得到真正的小时数。两个日期类型相减,得到的是以天为单位的,乘以24就得到小时数了。
3。add_months : add_months(日期类型,number),其中number可以为正或负。这个可以求上下月。
4。十六进制和十进制转换。
16 to 10 :select to_char('65535','XXXX') as HEX from dual;
--
HEX
FFFF
10 to 16 : select to_number('f','xx') as DEC from dual;
2 to 10 : select bin_to_number(1,0,1) from dual;