SQLserver中用convert函數轉換日期格式

【問題描述:】

      一個用戶表中的註冊日期顯示格式是:yyyy-mm-dd Thh:mm:ss.mmm 。而我想統計出每天的用戶註冊數,直接group註冊日期字段顯然是不行的。

【問題處理:】

      利用SQLserver中的convert函數對日期進行轉換轉換。group轉換後的日期。

【腳      本:】

 

【相關知識:】

SQLserver中用convert函數轉換日期格式2008-01-15 15:51SQLserver中用convert函數轉換日期格式

SQL Server中文版的默認的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm

例如:

select getdate()

2004-09-12 11:06:08.177

整理了一下SQL Server裏面可能經常會用到的日期格式轉換方法:

舉例如下:

select CONVERT(varchar, getdate(), 120 )

2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')

20040912110608

select CONVERT(varchar(12) , getdate(), 111 )

2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )

20040912

select CONVERT(varchar(12) , getdate(), 102 )

2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )

09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )

12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )

12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )

12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )

12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )

09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )

11:06:08

select CONVERT(varchar(12) , getdate(), 109 )

09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )

09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )

12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )

11:06:08.177

select getdate()

結果:2003-12-28 16:52:00.107

select convert(char(8),getdate(),112)

結果:20031228

select convert(char(8),getdate(),108)

結果:16:52:00

select convert(char(8),getdate(),112)

                                   |

                             指日期格式

規則如下:

1 101 美國 mm/dd/yyyy

2 102 ANSI yy.mm.dd

3 103 英國/法國 dd/mm/yy

4 104 德國 dd.mm.yy

5 105 意大利 dd-mm-yy

6 106 - dd mon yy

7 107 - mon dd, yy

8 108 - hh:mm:ss

- 9 或 109 (*)   默認值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)

10 110 美國 mm-dd-yy

11 111 日本 yy/mm/dd

12 112 ISO yymmdd

- 13 或 113 (*)   歐洲默認值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)

14 114 - hh:mi:ss:mmm(24h)

- 20 或 120 (*)   ODBC 規範 yyyy-mm-dd hh:mm:ss[.fff]

- 21 或 121 (*)   ODBC 規範(帶毫秒) yyyy-mm-dd hh:mm:ss[.fff]

- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)

- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM

- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

          關於Emaker中字段的格式轉換和字段間的運算代碼可以加到屬性裏的“格式轉換(讀出)”和“格式轉換(寫入)”,table字段設定裏的“字段”位置也可以靈活加函數。比如:'AF'+ID 或者ID+'/'+PWD ,convert(varchar(50),F1) ,

convert(int,%)-19110000 (讀出)

convert(char(8),convert(int,%)+19110000) (寫入)

實現行的合計運算等等。加入:%系統變量%,則是調用在Emaker 系統中設定的系統變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章