1. 程式人生 > >SQL Server2008常用函式_4. 資料型別轉換函式

SQL Server2008常用函式_4. 資料型別轉換函式

4. 資料型別轉換函式

convert 在進行日期轉換時提供了豐富的樣式,
cast 只能進行普通的日期轉換

函式名稱 引數 示例 描述

convert(資料型別[(長度)],表示式[,樣式])

select convert(nvarchar,123) 返回123
select N’年齡:’+convert(nvarchar,23)
返回 年齡:23(注意:如果想要在結果中正確顯示中文需要在給定的字串前面加上 N,加 N 是為了使資料庫識別Unicode 字元)

select convert(nvarchar ,getdate())
將一種資料型別的表示式顯式轉換為另一種資料型別的表示式。長度:如果資料型別允許設定長度,可以設定長度,例如varchar(10)樣式:用於將日期型別資料轉換為字元資料型別的日期格式的樣式。見下表
select convert(nvarchar ,getdate()) 返回 03 22 2018 10:21PM
select convert(nvarchar ,getdate()) – 03 22 2018
select convert(nvarchar ,getdate(),101) 返回 03/22/2018
select convert(nvarchar ,getdate(),120) 返回 2018-03-22 12:22:21
Select convert(nvarchar(10) ,getdate(),120)返回 2018-03-22

cast(表示式 as 資料型別[(長度)])

select cast(123 as nvarchar) 返回 123
select N’年齡:’+cast(23 as nvarchar) 返回 年齡:23

將一種資料型別的表示式顯式轉換為另一種資料型別的表示式。日期型別資料轉為字元資料型別的日期格式的部分樣式表當兩個不同資料型別的表示式用運算子組合後,資料型別優先順序規則指定將優先順序較低的資料型別優先轉換為優先順序較高的型。 如果此轉換不是所支援的隱式轉換,則返回錯誤。 當兩個運算元表示式具有相同的資料型別時,運算的結果便為該資料型別。如果需要把優先順序高的資料型別轉換優先順序低的資料型別時需要使用資料型別轉換函式進行顯示轉換。

Style ID    Style 格式
100 或者 0    mon dd yyyy hh:miAM (或者 PM)
101         mm/dd/yy
102         yy.mm.dd
103         dd/mm/yy
104         dd.mm.yy
105         dd-mm-yy
106         dd mon yy
107         Mon dd, yy
108         hh:mm:ss
109 或者 9    mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110         mm-dd-yy
111         yy/mm/dd
112
yymmdd 113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h) 114 hh:mi:ss:mmm(24h) 120 或者 20 yyyy-mm-dd hh:mi:ss(24h) 121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h) 126 yyyy-mm-ddThh:mm:ss.mmm(沒有空格) 130 dd mon yyyy hh:mi:ss:mmmAM 131 dd/mm/yy hh:mi:ss:mmmAM
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635