1.日期格式轉換
SQL Server中文版的默認的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm
Without century (yy) |
With century (yyyy) |
Standard |
Input/Output** |
- |
0 or 100 (*) |
Default |
mon dd yyyy hh:miAM (or PM) |
1 |
101 |
USA |
mm/dd/yy |
2 |
102 |
ANSI |
yy.mm.dd |
3 |
103 |
British/French |
dd/mm/yy |
4 |
104 |
German |
dd.mm.yy |
5 |
105 |
Italian |
dd-mm-yy |
6 |
106 |
- |
dd mon yy |
7 |
107 |
- |
Mon dd, yy |
8 |
108 |
- |
hh:mm:ss |
- |
9 or 109 (*) |
Default + milliseconds |
mon dd yyyy hh:mi:ss:mmmAM (or PM) |
10 |
110 |
USA |
mm-dd-yy |
11 |
111 |
JAPAN |
yy/mm/dd |
12 |
112 |
ISO |
yymmdd |
- |
13 or 113 (*) |
Europe default + milliseconds |
dd mon yyyy hh:mm:ss:mmm(24h) |
14 |
114 |
- |
hh:mi:ss:mmm(24h) |
- |
20 or 120 (*) |
ODBC canonical |
yyyy-mm-dd hh:mi:ss(24h) |
- |
21 or 121 (*) |
ODBC canonical (with milliseconds) |
yyyy-mm-dd hh:mi:ss.mmm(24h) |
- |
126(***) |
ISO8601 |
yyyy-mm-dd Thh:mm:ss:mmm(no spaces) |
- |
130* |
Kuwaiti |
dd mon yyyy hh:mi:ss:mmmAM |
- |
131* |
Kuwaiti |
dd/mm/yy hh:mi:ss:mmmAM |
2.求時間差
datediff(day,時間1,時間2) 若1小於2 結果爲正,否則爲負
SELECT (DATEDIFF (day, getdate(),cast(startime as datetime)))>2 FROM tasktb
3.格式轉換方法
SELECT convert(char,youdatefield,120) as date2 FROM table
mssql默認以系統時間格式輸出,你可以調整系統的時間格式來解決
當然是在程序裏解決比較靈活,convert(char,date,N)輸出的各中樣式
N 日期樣式
0 04 2 2005 9:06AM
1 04/02/05
2 05.04.02
3 02/04/05
4 02.04.05
5 02-04-05
6 02 04 05
7 04 02, 05
8 09:06:18
9 04 2 2005 9:06:18:857AM
10 04-02-05
11 05/04/02
12 050402
13 02 04 2005 09:06:18:857
14 09:06:18:857
20 2005-04-02 09:06:18
21 2005-04-02 09:06:18.857
22 04/02/05 9:06:18 AM
23 2005-04-02
24 09:06:18
25 2005-04-02 09:06:18.857
100 04 2 2005 9:06AM
101 04/02/2005
102 2005.04.02
103 02/04/2005
104 02.04.2005
105 02-04-2005
106 02 04 2005
107 04 02, 2005
108 09:06:18
109 04 2 2005 9:06:18:857AM
110 04-02-2005
111 2005/04/02
112 20050402
113 02 04 2005 09:06:18:857
114 09:06:18:857
120 2005-04-02 09:06:18
121 2005-04-02 09:06:18.857
126 2005-04-02T09:06:18.857