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

SQL SERVER中强制类型转换cast和convert的区别,第1张

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数据库中 什么字段类型是默认有两位小数的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9630716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存