Sql server cast的好处是什么
cast()的好处是什么 提前感谢,,Sql server cast的好处是什么,sql-server,Sql Server,cast()的好处是什么 提前感谢,, Nishant卡的数据类型最初可能未设置为varchar(10)Cast()Cast()有助于在此处将列显式设置为varchar(10)。如果不使用Cast,将得到数据类型为INT的列 SELECT Grp_number ,Mobile ,cast(NULL AS VARCHAR(10)) Card -- VARCHAR(10) FROM PROFILE WHERE country = 'United Arab Emirates
Nishant卡的数据类型最初可能未设置为
varchar(10)
Cast()Cast()
有助于在此处将列显式设置为varchar(10)。如果不使用Cast
,将得到数据类型为INT
的列
SELECT Grp_number
,Mobile
,cast(NULL AS VARCHAR(10)) Card -- VARCHAR(10)
FROM PROFILE
WHERE country = 'United Arab Emirates'
SELECT Grp_number
,Mobile
,NULL Card -- INT
FROM PROFILE
WHERE country = 'United Arab Emirates';
这可能会导致数据类型映射(ORM/SSIS/报告工具)出现问题。如果不使用CAST
您将得到数据类型为INT
的列
SELECT Grp_number
,Mobile
,cast(NULL AS VARCHAR(10)) Card -- VARCHAR(10)
FROM PROFILE
WHERE country = 'United Arab Emirates'
SELECT Grp_number
,Mobile
,NULL Card -- INT
FROM PROFILE
WHERE country = 'United Arab Emirates';
这可能会导致数据类型映射(ORM/SSIS/报告工具)出现问题。若要将列卡的数据类型设置为varchar(10)
@Squirrel,则上面的查询与下面的查询有什么区别:选择Grp\u number,Mobile,来自profile的null Card,其中country='United Arab Emirates'这两个查询将返回相同的结果,因为Card
列不用于任何其他比较。如果未使用cast()
,则card
列将具有它最初拥有的数据类型,而不是varchar(10)
对于NULL card
,数据类型未定义,某些客户端可能无法确定数据类型。对于select into exampleselect NULL Card into table_name
,它将默认为integer
。使用CAST()
,数据类型与您在CAST()
中定义的数据类型相同,以将列Card
的数据类型设置为varchar(10)
@Squirrel那么上面的查询与下面的查询有什么区别:选择Grp\u number,Mobile,来自profile的null Card,其中country='United Arab Emirates'这两个查询将返回相同的结果,因为Card
列不用于任何其他比较。如果未使用cast()
,则card
列将具有它最初拥有的数据类型,而不是varchar(10)
对于NULL card
,数据类型未定义,某些客户端可能无法确定数据类型。对于select into exampleselect NULL Card into table_name
,它将默认为integer
。使用CAST()
,数据类型与您在CAST()
中定义的数据类型相同,这是正确的,可以很容易地证明:exec sp\u descripe\u first\u result\u set@tsql=N'SELECT NULL as x'
vsexec sp\u descripe\u first\u result\u set@tsql=N'SELECT CAST(NULL as VARCHAR(10))作为x'
这是正确的,并且可以很容易地证明:exec sp\u description\u first\u result\u set@tsql=N'选择NULL作为x'
vsexec sp\u description\u first\u result\u set@tsql=N'选择cast(NULL作为VARCHAR(10))作为x'