Sql日期時間格式轉換

2023-01-06 14:36:03 字數 5215 閱讀 6763

sql server2000中使用convert來取得datetime資料型別樣式(全)

日期資料格式的處理,兩個示例:

convert(varchar(16), 時間一, 20) 結果:2007-02-01 08:02/*時間一般為getdate()函式或資料表裡的字段*/

convert(varchar(10), 時間一, 23) 結果:2007-02-01 /*varchar(10)表示日期輸出的格式,如果不夠長會發生擷取*/

語句及查詢結果:

select convert(varchar(100), getdate(), 0): 05 16 2006 10:57am

select convert(varchar(100), getdate(), 1): 05/16/06

select convert(varchar(100), getdate(), 2): 06.05.16

select convert(varchar(100), getdate(), 3): 16/05/06

select convert(varchar(100), getdate(), 4): 16.05.06

select convert(varchar(100), getdate(), 5): 16-05-06

select convert(varchar(100), getdate(), 6): 16 05 06

select convert(varchar(100), getdate(), 7): 05 16, 06

select convert(varchar(100), getdate(), 8): 10:57:46

select convert(varchar(100), getdate(), 9): 05 16 2006 10:57:46:827am

select convert(varchar(100), getdate(), 10): 05-16-06

select convert(varchar(100), getdate(), 11): 06/05/16

select convert(varchar(100), getdate(), 12): 060516

select convert(varchar(100), getdate(), 13): 16 05 2006 10:57:46:937

select convert(varchar(100), getdate(), 14): 10:57:46:967

select convert(varchar(100), getdate(), 20): 2006-05-16 10:57:47

select convert(varchar(100), getdate(), 21): 2006-05-16 10:57:47.157

select convert(varchar(100), getdate(), 22): 05/16/06 10:57:47 am

select convert(varchar(100), getdate(), 23): 2006-05-16

select convert(varchar(100), getdate(), 24): 10:57:47

select convert(varchar(100), getdate(), 25): 2006-05-16 10:57:47.250

select convert(varchar(100), getdate(), 100): 05 16 2006 10:57am

select convert(varchar(100), getdate(), 101): 05/16/2006

select convert(varchar(100), getdate(), 102): 2006.05.16

select convert(varchar(100), getdate(), 103): 16/05/2006

select convert(varchar(100), getdate(), 104): 16.05.2006

select convert(varchar(100), getdate(), 105): 16-05-2006

select convert(varchar(100), getdate(), 106): 16 05 2006

select convert(varchar(100), getdate(), 107): 05 16, 2006

select convert(varchar(100), getdate(), 108): 10:57:49

select convert(varchar(100), getdate(), 109): 05 16 2006 10:57:49:437am

select convert(varchar(100), getdate(), 110): 05-16-2006

select convert(varchar(100), getdate(), 111): 2006/05/16

select convert(varchar(100), getdate(), 112): 20060516

select convert(varchar(100), getdate(), 113): 16 05 2006 10:57:49:513

select convert(varchar(100), getdate(), 114): 10:57:49:547

select convert(varchar(100), getdate(), 120): 2006-05-16 10:57:49

select convert(varchar(100), getdate(), 121): 2006-05-16 10:57:49.700

select convert(varchar(100), getdate(), 126): 2006-05-16t10:57:49.827

select convert(varchar(100), getdate(), 130): 181427 10:57:49:907am

select convert(varchar(100), getdate(), 131): 18/04/1427 10:57:49:920am

說明:使用 convert:

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

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

4 104 德國

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 不含空格)

- 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 自動化物件的客戶端應用程式)都使用 2030 作為截止年份。

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

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

Excel文字日期轉換為日期格式

有時excel 2007的日期資料可能設定為文字格式儲存在單元格中。例如,您可能在單元格中輸入了格式設定為文字的日期,或者可能從外部資料來源以文字格式匯入或貼上了資料。格式為文字的日期在單元格中為左對齊,而不是右對齊。通過開啟 錯誤檢查 以兩位數表示年份的文字日期可能也會使用錯誤指示器進行標記。由於...

日期格式的設定

excel 2010單元格中日期格式的設定 日期與時間是使用者在excel中經常需要處理的一類數值,在不同的報告中,會使用不同的日期格式來表示它們。在預設情況下,當使用者在單元格中輸入日期或時間的時候,excel會使用系統短日期格式來顯示。更改系統日期格式設定的方法如下。單擊windows的開始選單...

英語的日期格式

一 書寫方面先看下面的兩個例子 1.1986年10月23日 october 23 rd 1986 2.2002年1月17日 january 17 th 2002 從上面的例子可以看出,英語日期的表達與漢語不同。英語表達的順序為 月 日 年 因此2004年11月8日就可寫成november 8th,2...