您的位置:首頁技術文章
文章詳情頁

MS SQL Server中的CONVERT日期格式化大全

瀏覽:110日期:2023-11-02 18:36:35

CONVERT將某種數據類型的表達式顯式轉換為另一種數據類型。由于某些需求經常用到取日期格式的不同.現以下可在SQL Server中 將日期格式化.

SQL Server 支持使用科威特算法的阿拉伯樣式中的數據格式。

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

不帶世紀數位 (yy)帶世紀數位 (yyyy)標準輸入/輸出**-0 或 100 (*) 默認值mon dd yyyy hh:miAM(或 PM)1101美國mm/dd/yyyy2102ANSIyy.mm.dd3103英國/法國dd/mm/yy4104德國dd.mm.yy5105意大利dd-mm-yy6106-dd mon yy7107-mon dd, yy8108-hh:mm:ss-9 或 109 (*) 默認值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或 PM)10110美國mm-dd-yy11111日本yy/mm/dd12112ISOyymmdd-13 或 113 (*) 歐洲默認值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h)14114-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(***)ISO8601yyyy-mm-dd Thh:mm:ss:mmm(不含空格)-130*科威特dd mon yyyy hh:mi:ss:mmmAM-131*科威特dd/mm/yy hh:mi:ss:mmmAM

*;;;;默認值(style 0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始終返回世紀數位 (yyyy)。** 當轉換為 datetime 時輸入;當轉換為字符數據時輸出。*** 專門用于 XML。對于從 datetimesmalldatetimecharacter 數據的轉換,輸出格式如表中所示。對于從 floatmoneysmallmoneycharacter 數據的轉換,輸出等同于 style 2。對于從 realcharacter 數據的轉換,輸出等同于 style 1。

重要默認情況下,SQL Server 根據截止年份 2049 解釋兩位數字的年份。即,兩位數字的年份 49 被解釋為 2049,而兩位數字的年份 50 被解釋為 1950。許多客戶端應用程序(例如那些基于 OLE 自動化對象的客戶端應用程序)都使用 2030 作為截止年份。SQL Server 提供一個配置選項('兩位數字的截止年份'),借以更改 SQL Server 所使用的截止年份并對日期進行一致性處理。然而最安全的辦法是指定四位數字年份。

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

下表顯示了從 floatreal 轉換為字符數據時的 style 值。

值輸出0(默認值)最大為 6 位數。根據需要使用科學記數法。1始終為 8 位值。始終使用科學記數法。2始終為 16 位值。始終使用科學記數法。

在下表中,左列表示從 money smallmoney 轉換為字符數據時的 style 值。

值輸出0(默認值)小數點左側每三位數字之間不以逗號分隔,小數點右側取兩位數,例如 4235.98。1小數點左側每三位數字之間以逗號分隔,小數點右側取兩位數,例如 3,510.92。2小數點左側每三位數字之間不以逗號分隔,小數點右側取四位數,例如 4235.9819。

使用 CONVERT:

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

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

標簽: Sql Server 數據庫
国产综合久久一区二区三区