2013-04-26 68 views
8

當我們轉換或SQL投日期,請參見下面的SQL代碼SELECT CONVERT(VARCHAR(10),GETDATE(),110)這裏110是什麼意思?

SELECT CONVERT(VARCHAR(10), GETDATE(), 110) AS [MM-DD-YYYY] 

它工作得很好,我只是想知道110在上面的代碼的含義。它實際上做了什麼,有時我們使用102,112等等。那個數字的用法是什麼。

+0

的可能的複製[如何日期時間轉換到VARCHAR(http://stackoverflow.com/questions/74385 /如何對轉換,日期時間到VARCHAR) – 2017-03-27 05:56:28

回答

9

這個數字表示日期和時間樣式

你需要看看CAST and CONVERT (Transact-SQL)。在這裏您可以找到所有這些日期和時間樣式的含義。

具有世紀風格(如100,101等)意味着年份將以yyyy格式出現。雖然沒有世紀的風格(例如1,7,10)意味着年份將以yy格式出現。您也可以參考SQL Server Date Formats。在這裏你可以找到所有帶有例子的日期格式。

1

將表達式從一種類型轉換爲另一種時,在很多情況下,存儲過程或其他例程中需要將數據從日期時間類型轉換爲varchar類型。 Convert function用於這樣的事情。可以使用CONVERT()函數以各種格式顯示日期/時間數據。

語法

CONVERT(data_type(length), expression, style) 

風格 - 爲datetime或smalldatetime轉換爲字符數據樣式值。將100添加到樣式值以獲得包含世紀(yyyy)的四位年份。

實施例1

取樣式值108,其定義了格式如下:

爲hh:mm:ss的

現在使用在下面的查詢上述式:

select convert(varchar(20),GETDATE(),108) 

實施例2

我們使用樣式值107,其定義了格式如下:

星期一DD,YY

現在使用該樣式在以下查詢:

select convert(varchar(20),GETDATE(),107) 

同樣

style-106 for Day,Month,Year (26 Sep 2013) 
style-6 for Day, Month, Year (26 Sep 13) 
style-113 for Day,Month,Year, Timestamp (26 Sep 2013 14:11:53:300)