2009年3月17日 星期二

MS SQL Server 如何取sysdate

若建立table,
oracle 寫法
-取日期yymmdd則使用 to_char (sysdate,'YYYYMMDD')
-取時間hh24miss則使用to_char(sysdate,'HH24MISS')

MS SQL Server中文版的預設日期datetime格式是yyyy-mm-dd hh:mm:ss.mmm
sql server寫法上非常不同
-取日期yymmdd,使用 CONVERT(VARCHAR(8), GETDATE(), 112)
-取時間yymmdd,使用REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ':', '')
取時間的時候需要多作一次轉換,將":"的地方去除。

另外~convert參數中的112、108,sql server在轉換日期格式時,所代表的編號。
附上Online book上描述的convert 格式編號:

url= http://msdn.microsoft.com/zh-tw/library/ms174450(SQL.90).aspx

一般來說,沒有標示世紀的話~就以yy為主,例如yymmdd的格式編號就是12,
但若要標示世紀的話,就要將12+100,要使用112的編號才能顯示 yyyymmdd。

沒有留言:

張貼留言