1.TO_CHAR 是把日期或數(shù)字轉(zhuǎn)換為字符串
例子:TO_CHAR(number, '格式') --處理數(shù)字 TO_CHAR(price,’$99,999.99’);
TO_CHAR(date,'格式') --處理日期
TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss')
2.TO_DATE 是把字符串轉(zhuǎn)換為數(shù)據(jù)庫中得日期類型轉(zhuǎn)換函數(shù)
例子:TO_DATE(date,'格式')
TO_DATE('2011-12-22 00:00:01','yyyy-mm-dd hh24:mi:ss')
3.TO_NUMBER 將字符轉(zhuǎn)化為數(shù)字
例子:TO_NUMBER(price, '99,999,999')
數(shù)字格式格式 9 代表一個數(shù)字 0 強制顯示0 $ 放置一個$符 L 放置一個浮動本地貨幣符 . 顯示小數(shù)點 , 顯示千位指示符
日期格式 格式控制 描述 YYYY、YYY、YY 分別代表4位、3位、2位的數(shù)字年 YEAR 年的拼寫 MM 數(shù)字月 MONTH 月的全拼 MON 月的縮寫 DD 數(shù)字日 DAY 星期的全拼 DY 星期的縮寫 AM 表示上午或者下午 HH24、HH12 12小時制或24小時制 MI 分鐘 SS 秒鐘 SP 數(shù)字的拼寫 TH 數(shù)字的序數(shù)詞
在oracle中日期格式不區(qū)分大小寫,mm是月、mi是分鐘。
函數(shù)使用
1.查詢?nèi)掌谑切瞧趲?/p>
select to_char(to_date('2011-12-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
2.兩個日期間的天數(shù)
select floor(sysdate - to_date('20111201','yyyymmdd')) from dual;
3.檢查兩個日期的條件 a_date between to_date('20111101','yyyymmdd') and to_date('20111231','yyyymmdd')
4.查找月份
select months_between(to_date('11-11-2011','MM-DD-YYYY'),to_date('10-11-2011','MM-DD-YYYY')) "MONTHS" FROM DUAL;
5.獲得小時
select sysdate ,to_char(sysdate,'hh24') from dual;
6.獲得日期在所在月的最后一天
select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual 7.不同時區(qū)的顯示 select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate from dual; 8.一年的第幾天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual
9.計算小時,分,秒,毫秒
select Days, A, TRUNC(A*24) Hours, TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes, TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds, TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds from ( select trunc(sysdate) Days, sysdate - trunc(sysdate) A from dual )
10.返回日期列表中最晚日期
select greatest('01年-1月-04','04年-1月-04','10年-2月-04') from dual
|