SQL.Orcale中的to_date()/to_char()/to_number()的用法
1.與date操作關係最大的就是兩個轉換函式:to_date(),to_char()。其中轉換函式To_char()的作用將日期型別按一定格式轉化為字串型別:
具體用法:to_char(時間欄位,'yyyy-MM-dd HH24:mi:ss') from table1;
例如表table1
time(型別為date)
2015-7-8 15:05:13
select to_char(time,'yyyy-MM-dd HH24:mi:ss ')as time from table1
結果如下:
time
2015-07-08 15:07:13(為字串型別)
2.to_date() 的作用將字元型別按一定格式轉化為日期型別:
具體用法:to_date('2004-11-27','yyyy-mi-dd'),前者為字串,後者為轉換日期格式,後者的格式要與前者保持一致。
如;to_date('2004-11-27 13:34:43', 'yyyy-MM-dd HH24:mi:ss') 將得到具體的時間,這裡需要注意的是:由於orcale不區分大小寫,多以當分如果用mm來代替時,orcale則會出錯顯示格式出現了兩次,對於to_char雖然不會報錯,但轉換後的分顯示的是轉換後的月份。
select to_date(to_char(time,'yyyy-MM-dd HH24:mm:ss '),‘yyyy-MM-dd HH24-mi-ss’) as time from table1
果如下:
time
2015-7-8 15:05:13(為字日期型別,不管後者的格式如何,都轉換為標準的日期格式)
3.to_number的正確格式是:To_number(char,’format’)。
其中 char代表一個數值字串,format代表char的格式,其實一般我們用的很少,只需第一個引數就可以達到我們的目的。
例如表table1
state(為字串型別)
20
select to_number(state)+1 as state from table1
結果如下
state
21
但是很奇怪直接state+3也可以達到預期效果,如果state為中文字元就不能,如state為‘你好’,orcale就會報錯,為‘20’就出輸出’21‘。
以上只是orcale的函式。
4.REPLACE (欄位1 ,‘ 欄位2’ ,‘欄位3’ )用第三個欄位替換第一個欄位中出現的所有第二個欄位。
select replace(state,'2','1') as state from table1
結果如下:
state
10。