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(1234 as int) -- 123
select CONVERT(int, 1234) -- 123
select CAST('1234' as decimal) -- 123
select CONVERT(decimal, '1234') -- 123
select CAST('1234' as decimal(9,2)) -- 12340
select CONVERT(decimal(9,2), '1234') -- 12340
declare @Num moneyset @Num = 123456
select CONVERT(varchar(20), @Num, 0) -- 123456
select CONVERT(varchar(20), @Num, 1) -- 1,23456
select CONVERT(varchar(20), @Num, 2) -- 12345600
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:46635三、convert函数的style参数说明
1、时间style
2、float
和
real
样式
3、money
和
smallmoney
样式
如果希望只保留2位小数,可以使用decimal数据类型。例如:
decimal(15,2)
当然,也可以在select时将money类型转换成decimal,使其只显示两位小数。假设你的字段名叫做工资,数据类型是money,
可以用cast语句将其转换成两位小数的decimal,
cast(工资,
decimal(12,2))
以上就是关于SQL SERVER中强制类型转换cast和convert的区别全部的内容,包括:SQL SERVER中强制类型转换cast和convert的区别、急!!在sql数据库中 什么字段类型是默认有两位小数的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)