问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-25 03:40

我来回答

3个回答

热心网友 时间:2022-04-07 18:32

在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的,
只是语法不同.
cast一般更容易使用,convert的优点是可以格式化日期和数值.

代码
select CAST('123' as int) -- 123
select CONVERT(int, '123') -- 123

select CAST(123.4 as int) -- 123
select CONVERT(int, 123.4) -- 123

select CAST('123.4' as int)
select CONVERT(int, '123.4')
-- Conversion failed when converting the varchar value '123.4' to data type int.

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 money
set @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

热心网友 时间:2022-04-07 19:50

CAST 和 CONVERT 函数都可将值(局部变量、列或其他表达式)从一种数据类型转换为另一种数据类型。 二者的区别: CAST (expression AS data_type [(length )]) CONVERT(data_type[(length)],expression[,style]) 从以上语法可以看出,CAST和CONVERT功能类似,但是CONVERT多了一个参数style,即在数据转换时可以指定转换后的格式,比如 SELECT CONVERT(VARCHAR(20),GETDATE(),120),CONVERT(VARCHAR(20),GETDATE(),101) 分别返回:2015-01-25 10:16:27 和 01/25/2015 如果希望 Transact-SQL 程序代码符合 ISO 标准,请使用 CAST 而不要使用 CONVERT。如果要利用 CONVERT 中的样式功能,请使用 CONVERT 而不要使用 CAST。

热心网友 时间:2022-04-07 21:25

如果SQL
Server程序员想将表达式从一种换为另一种,他可以从SQL
Server
7和2000中自带的两种功能中做出选择。在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;CONVERT和CAST就可以用于这种情况。
由于SQL
Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。CONVERT是专对SQL
Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST。因此,我建议首先使用CAST,如果遇到必须使用CONVERT的情况时再使用CONVERT。
CAST和CONVERT还能联合使用,达到特殊的效果。比如,在current
date下生成char变量一般使用以下方法:
SELECT
CONVERT(CHAR(10),
CURRENT_TIMESTAMP,
102)
(102表明使用了ANSI日期模式,即yy.mm.dd型)
然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句:
SELECT
CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102)
AS
DATETIME
返回值将是
yy.mm.dd
00:00:00(如12:00AM作为时间戳;
简单来说就是基本一样功能,在语法和细微上有区别
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何为职务侵占罪进行辩护 职务侵占如何辩护 职务侵占罪有效辩护点有哪些 miui11开发者选项在哪_小米miui11开发者选项在哪 查询考研成绩需要什么 考研查分前要做什么 考研查询需要什么证件 研究生什么专业好 什么专业的研究生最好 考研究生什么专业好 SQL中conver函数是什么意思 sql convert的用法? 关于sql的convert(varchar,[datetimeColumn],[style])函数 SQL update 与 CONVERT函数的用法 SQL中CONVERT函数的问题 在C#中 sql的convert函数怎么用呀 在sql中convert怎么用 mysql中convert()函数是什么意思? sql中convert转化函数的用法 关于sql中 convert函数用法 SQL中的CONVERT函数的用法是什么? 华为手机QQ消息怎样撤回? 卫生间门铆钉怎么取出来 半自动洗衣机盖子上的铆钉怎么卸下来? 炒菜的锅 把子钉怎么卸下来 王玉刚的主要专著 全国有多少个叫薛征现的 上海派朗德贵金属有限公司怎么样? 北京舒经堂盲人保健按摩培训中心怎么样? 法定七个工作日是多少天 在SQL中怎么用convert函数把一位数字转换成两位数? sql server中convert函数问题 SQL中CONVERT的格式是什么? sql中CONVERT()函数在oracle中是什么? 无醇燃料是因为合法性才能替换醇基燃料吗? 醇基燃料可以代替汽油给汽车用吗?有什么利弊可给帮忙解释一下吗? 生物醇(甲醇汽油)可以代替汽油吗 长山药'常吃有什么好处? 长山药的营养价值及功效 长山药有什么好处… 长期吃山药有什么好处 七大好处适合 罹记臭豆腐的做法? 臭豆腐如何烧? 臭豆腐在家如何做? 棠耗菜煮臭豆腐的做法 如何自做臭豆腐 ppt里的视频怎么放大全屏? ppt里面插视频怎样全屏播放 科沃斯扫地机器人充电时应该亮什么颜色的灯 做的PPT,插入一个视频,怎样在播放时让视频全屏?不要说制作时把视频拉到全屏,我不要那种。