将一种数据类型的表达式显式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能。
cast
SELECT CAST('12.5' AS int) --在将 varchar 值 '12.5' 转换成数据类型 int 时失败。 SELECT CAST('12.5' AS decimal(5,3)) --12.500 SELECT CAST(12.5 AS varchar) --12.5 SELECT CAST('2016/07/01' AS datetime)--2016-07-01 00:00:00.000
convert
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
select convert(varchar(100),GETDATE(),120) --2016-07-01 13:55:36 select convert(varchar(100),GETDATE(),121) --2016-07-01 13:55:11.017 select convert(varchar(100),GETDATE(),111) --2016/07/01 select CONVERT(VARCHAR(19),GETDATE()) --07 1 2016 1:43PM
CONVERT() 函数转换格式。
select CONVERT(VARCHAR(19),12) -- select CONVERT(int,'') -- select CONVERT(decimal,'12.647') -- select CONVERT(decimal(5,3),'12.647') --12.647 select CONVERT(datetime,'2016/07/01') --2016-07-01 00:00:00.000 select CONVERT(datetime2,'2016/07/01')--2016-07-01 00:00:00.0000000
参考:
https://technet.microsoft.com/zh-cn/library/ms187928(SQL.90).aspx
http://www.w3school.com.cn/sql/func_convert.asp