oracle內部轉換函式雜談

skyin_1603發表於2016-11-15

這裡只是作為之前談論oracle內部函式的一些博文的一些補充。
其中包括有轉換函式中的日期轉字元,資料轉字元等等。可以透過
以下的例子講述:

----轉換函式:

---當前時間:

sys@PROD>select to_char(sysdate,'yyyy-mm dd hh24:mi:ss')

  2  from dual;

TO_CHAR(SYSDATE,'YY

-------------------

2016-11 15 21:13:48

 

---時間型別轉換字元型別 yyyyyear的區別:

sys@PROD>select to_char(sysdate,'yyyy'),

  2  to_char(sysdate,'year') from dual;

 

TO_C TO_CHAR(SYSDATE,'YEAR')

---- ------------------------------------------

2016 twenty sixteen

 #這其中yyyy就是我們日常比較熟悉的年份顯示格式,而year格式是名稱格式。


---檢視當前日期月份轉換為字元型的顯示格式

sys@PROD>select to_char(sysdate,'mm'), to_char(sysdate,'mon'),

  2  to_char(sysdate,'month') from dual;

TO TO_CHAR(SYSD TO_CHAR(SYSDATE,'MONTH')

-- ------------ ------------------------------------

11 nov          november

 #也同樣跟年份相類似。

---檢視完整的日期:

sys@PROD>select to_char(sysdate,'ddspth "of" mon year')

  2  from dual;

TO_CHAR(SYSDATE,'DDSPTH"OF"MONYEAR')

-------------------------------------------------------------------------

fifteenth of nov twenty sixteen

 #這裡可以按照自己的想法,可以把年月日互調位置,也可以自己選擇顯示格式,
這裡則選擇了英文名稱的顯示格式。


---資料型別轉化為字元型別:

sys@PROD>select to_char(559578,'L999,999.00'),

  2  to_char(559578,'$999,999.00') from dual;

TO_CHAR(559578,'L999, TO_CHAR(5595

--------------------- ------------

          $559,578.00  $559,578.00

 #“L999是以本地貨幣格式顯示,因為資料庫的字符集是美國語言的。
#“$999”就是以美元為顯示單位格式顯示,所以兩個的顯示是一樣的。

---字元型別轉換為資料型別:

sys@PROD>select to_number('$559,578','$999999')

  2  from dual;

TO_NUMBER('$559,578','$999999')

-------------------------------

                         559578

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31392094/viewspace-2128538/,如需轉載,請註明出處,否則將追究法律責任。

相關文章