SQL SERVER中强制类型转换cast和convert的区别

如题所述

SQL SERVER中强制类型转换cast和convert的区别
SQL中cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能,只是语法不同。
在时间类型转化中一般用到convert,因为它比cast多加了一个style,可以转化成不同时间的格式。
一、使用语法:
1、CAST ( expression AS data_type )
2、CONVERT (data_type[(length)], expression [, style])
参数说明:
expression:是任何有效的表达式。
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 数据类型)。
二、脚本示例

select CAST('1234' as int) -- 1234
select CONVERT(int, '1234') -- 1234
select CAST(123.4 as int) -- 123
select CONVERT(int, 123.4) -- 123
select CAST('123.4' as decimal) -- 123
select CONVERT(decimal, '123.4') -- 123
select CAST('123.4' as decimal(9,2)) -- 123.40
select CONVERT(decimal(9,2), '123.4') -- 123.40
declare @Num moneyset @Num = 1234.56
select CONVERT(varchar(20), @Num, 0) -- 1234.56
select CONVERT(varchar(20), @Num, 1) -- 1,234.56
select CONVERT(varchar(20), @Num, 2) -- 1234.5600
CONVERT(VARCHAR(19),GETDATE()) --Dec 29 2016 11:45 PM
CONVERT(VARCHAR(10),GETDATE(),110) --12-29-2016
CONVERT(VARCHAR(11),GETDATE(),106) --29 Dec 16
CONVERT(VARCHAR(24),GETDATE(),113) --29 Dec 2016 16:25:46.635
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网