的操作造成影响,所以了解即可。例如:SELECTSYSDATECURRENT_DATEFROMDUAL4、LAST_DAYd返回指定时间所在月的最后一天例如:SELECTlast_daySYSDATEFROMDUAL5、NEXT_DAYd
返回指定日期后第一个
的日期,
为一周中的某一天。但是,需要注意的是
如果为字符的话,它的星期形式需要与当前sessio
默认时区中的星期形式相同。例如:三思用的中文
t,
ls_la
guage值为SIMPLIFIEDCHINESESELECTNEXT_DAYSYSDATE5FROMDUALSELECTNEXT_DAYSYSDATE星期四FROMDUAL两种方式都可以取到正确的返回,但是:SELECTNEXT_DAYSYSDATEThursdayFROMDUAL则会执行出错,提供你说周中的日无效,就是这个原因了。6、MONTHS_BETWEENd1d2返回d1与d2间的月份差,视d1d2的值大小,结果可正可负,当然也有可能为0例如:
fSELECTmo
ths_betwee
SYSDATEsysdatemo
ths_betwee
SYSDATEadd_mo
thssysdate1mo
ths_betwee
SYSDATEadd_mo
thssysdate1FROMDUAL7、ROUNDdfmt前面讲数值型函数的时候介绍过ROUND,此处与上功能基本相似,不过此处操作的是日期。如果不指定fmt参数,则默认返回距离指定日期最近的日期。例如:SELECTROUNDSYSDATEHH24FROMDUAL8、TRUNCdfmt与前面介绍的数值型TRUNC原理相同,不过此处也是操作的日期型。例如:SELECTTRUNCSYSDATEHH24FROMDUAL五转换函数Co
versio
Fu
ctio
s转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。1、TO_CHAR本函数又可以分三小类,分别是转换字符字符TO_CHARc:将
char
varchar2clob
clob类型转换为char类型;例如:SELECTTO_CHARAABBCCFROMDUAL转换时间字符TO_CHARdfmt:将指定的时间datatimestamptimestampwithtimezo
e按照指定格式转换为varchar2类型;例如:SELECTTO_CHARsysdateyyyymmddhh24missFROMDUAL转换数值字符TO_CHAR
fmt:将指定数值
按照指定格式fmt转换为varchar2类型并返回;例如:SELECTTO_CHAR100L99G999D99MIFROMDUAL2、TO_DATEcfmt
ls将char
charvarchar2
varchar2转换为日期类型,如果fmt参数不为空,则按照fmt中指定格式进行转换。注意这里的fmt参数。如果ftm为J则表示按照公元制Julia
day转换,c则必须为大于0并小于5373484的正整数。例如:SELECTTO_DATE2454336JFROMDUALSELECTTO_DATE2007823232500yyyymmddhh24missFROMDUAL为什么公元制的话,c的值必须不大于5373484呢?因为Oracle的DATE类型的取值范围是公元前4712年1月1日至公元9999年12月31日。看看下面这个语句:SELECTTO_CHARTO_DATE99991231yyyymmddjFROMDUAL3、TOr