Datetime Format in T-SQL

在寫 T-SQL 的時候常常用到日期轉換的部分,格式一大堆。我個人偏好的yyyy-MM-dd也不知道為什麼總是被網路上眾多文章排擠,找了半天又不想用字串去拆,或是把時間部分拿掉,就是想要他一出來就是我要的樣子。

convert(nvarchar , getdate(), FormatCode)

後來終於忍不住自己用 T-SQL 產出代碼編號跟結果的 Table 。

0    08 26 2011  4:24PM
1 08/26/11
2 11.08.26
3 26/08/11
4 26.08.11
5 26-08-11
6 26 08 11
7 08 26, 11
8 16:24:18
9 08 26 2011 4:24:18:313PM
10 08-26-11
11 11/08/26
12 110826
13 26 08 2011 16:24:18:313
14 16:24:18:313
20 2011-08-26 16:24:18
21 2011-08-26 16:24:18.313
22 08/26/11 4:24:18 PM
23 2011-08-26
24 16:24:18
25 2011-08-26 16:24:18.313
100 08 26 2011 4:24PM
101 08/26/2011
102 2011.08.26
103 26/08/2011
104 26.08.2011
105 26-08-2011
106 26 08 2011
107 08 26, 2011
108 16:24:18
109 08 26 2011 4:24:18:330PM
110 08-26-2011
111 2011/08/26
112 20110826
113 26 08 2011 16:24:18:330
114 16:24:18:330
120 2011-08-26 16:24:18
121 2011-08-26 16:24:18.330
126 2011-08-26T16:24:18.330
127 2011-08-26T16:24:18.330
130 27 ????? 1432 4:24:18:330PM
131 27/09/1432 4:24:18:330PM

下面是用來產出 Table 的 T-SQL (執行環境是 sql2005)

DECLARE @TmpTable TABLE (
number int,
result varchar(100)
)
declare @start int
declare @end int
set @start = 0
set @end = 200
while @start < @end
begin
BEGIN try
declare @result nvarchar(100)
select @result = convert(nvarchar , getdate(), @start)
insert @TmpTable(number,result) values(@start,@result)
end try
Begin Catch
End Catch
set @start = @start + 1
end
select * from @TmpTable

Reference

建立#TempTable與Declare @TempTable有何差別

http://social.msdn.microsoft.com/Forums/zh-TW/240/thread/850f5bf2-79b5-4f32-ba40-0bba2db1e929

How to format datetime & date in Sql Server 2005

http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *