使用SQL Server时必须注意的10个特性:字符串连接

日期: 2013-09-16 作者:Alex Bolenok 来源:TechTarget中国

使用SQL Server时必须注意的10个特性:字符串连接

 

执行字符串连接与数字相加都使用的是相同的操作符+ 。这可能会在数字和字符串混合的情况下造成混淆。

这一行为在标准中没有定义并且是特定于SQL Server的。

当试图连接一个数字和一个字符串时,要记住字符串会转化为数字并相加,而非数字转换为字符串再做连接。

操作符的结合性为从左至右。

以下是一些查询:

SELECT ‘1’ + 1

2

一个字符串加上数字会产生一个数字并且此字符串转换为一个数字。

SELECT 1 + ‘1’

2

一个数字加上字符串会产生一个数字并且此字符串转换为一个数字。

SELECT ‘3’ + ‘2’

’32’

一个字符串加上字符串会产生一个字符串,并且这两个字符串会进行连接。

SELECT ‘1’ + ‘2’ + 3

15

一个字符串加上字符串再加上数字会产生一个数字。首先,两个字符串进行连接(产生’12’),接着此结果字符串转换为一个数字并与3相加(产生15)。

SELECT ‘1’ + ‘a’ + 3

Conversion failed when converting the varchar value ‘1a’ to data type int.: SELECT ‘1’ + ‘a’ + 3

首先,两个字符串进行连接,产生’1a’。然后,会试图将结果字符串转换为一个数字,但此尝试会失败并产生上面的错误。

如果你想要连接一个数字和一个字符串,需要显式的将前者转换为后者如下:

SELECT ‘Value’ + CAST(123 AS CHAR)

‘Value123’

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐