sqlserver中DATE類型的資料轉化 CONVERT

來源:互聯網
上載者:User

標籤:style   blog   http   os   使用   io   ar   資料   log   

主要描述的是SQL Server使用convert取得datetime日期資料的實際操作流程,在實際操作中用SQL Server資料庫中用convert來擷取datetime日期資料,以下執行個體包含各種日期格式的轉換。

 

語句及查詢結果: 

  1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/0 

 SQL Server使用convert來取得datetime日期資料,以下執行個體包含各種日期格式的轉換 

語句及查詢結果: 

  1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM  
  2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06  
  3. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16  
  4. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06  
  5. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06  
  6. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06  
  7. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06  
  8. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06  
  9. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46  
  10. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM  
  11. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06  
  12. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16  
  13. Select CONVERT(varchar(100), GETDATE(), 12): 060516  
  14. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937  
  15. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967  
  16. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47  
  17. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157  
  18. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM  
  19. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16  
  20. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47  
  21. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250  
  22. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM  
  23. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006  
  24. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16  
  25. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006  
  26. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006  
  27. Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006  
  28. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006  
  29. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006  
  30. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49  
  31. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM  
  32. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006  
  33. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16  
  34. Select CONVERT(varchar(100), GETDATE(), 112): 20060516  
  35. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513  
  36. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547  
  37. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49  
  38. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700  
  39. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827  
  40. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM  
  41. Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM 

說明:

SQL Server使用convert:

  1. CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 

參數

expression

 

是任何有效 Microsoft? SQL Server? 運算式。。

data_type

目標系統所提供的資料類型,包括 bigint 和 sql_variant。不能使用使用者定義的資料類型。

length

 

nchar、nvarchar、char、varchar、binary 或 varbinary 資料類型的選擇性參數。

style

日期格式樣式,藉以將 datetime 或 smalldatetime 資料轉換為字元資料(nchar、nvarchar、char、varchar、nchar 或 nvarchar 資料類型);或者字串格式樣式,藉以將 float、real、money 或 smallmoney 資料轉換為字元資料(nchar、nvarchar、char、varchar、nchar 或 nvarchar 資料類型)。

SQL Server 支援使用科威特演算法的阿拉伯樣式中的資料格式。

在表中,左側的兩列表示將 datetime 或 smalldatetime 轉換為字元資料的 style 值。給 style 值加 100,可獲得包括世紀數位的四位年份 (yyyy)。

不帶世紀數位 (yy) 帶世紀數位 (yyyy)

標準

 

輸入/輸出**

 

- 0 或 100 (*) 預設值 mon dd yyyy hh:miAM(或 PM) 

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* Hijri**** dd mon yyyy hh:mi:ss:mmmAM 

- 131* Hijri**** dd/mm/yy hh:mi:ss:mmmAM 

* 預設值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。

** 當轉換為 datetime時輸入;當轉換為字元資料時輸出。

 

*** 專門用於 XML。對於從 datetime或 smalldatetime 到 character 資料的轉換,輸出格式如表中所示。對於從 float、money 或 smallmoney 到 character 資料的轉換,輸出等同於 style 2。對於從 real 到 character 資料的轉換,輸出等同於 style 1。

 

****Hijri 是具有幾種變化形式的日曆系統,Microsoft? SQL Server? 2000 使用其中的科威特演算法。

 

重要 預設情況下,SQL Server 根據截止年份 2049 解釋兩位元字的年份。即,兩位元字的年份 49 被解釋為 2049,而兩位元字的年份 50 被解釋為 1950。許多用戶端應用程式(例如那些基於 OLE Automation 物件的用戶端應用程式)都使用 2030 作為截止年份。

SQL Server 提供一個配置選項("兩位元字的截止年份"),藉以更改 SQL Server 所使用的截止年份並對日期進行一致性處理。然而最安全的辦法是指定四位元字年份。

當從 smalldatetime 轉換為字元資料時,包含秒或毫秒的樣式將在這些位置上顯示零。當從 datetime 或 smalldatetime 值進行轉換時,可以通過使用適當的 char 或 varchar 資料類型長度來截斷不需要的日期部分。

 

轉載自 這裡

sqlserver中DATE類型的資料轉化 CONVERT

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.