带有一个操作数的“+”运算符!

use*_*re3 5 mysql sql-server t-sql operator

'+' 运算符在以下语句中的表现如何?

select + 'taco';  --Result is 'taco'
Run Code Online (Sandbox Code Playgroud)

它是与第一个字符串空白('' + 'taco')进行字符串连接,还是其他意思?

Pau*_*ite 12

'+' 运算符在以下语句中的表现如何?

它被解析为一元加号,并被忽略。

以下是对有关该主题的 Connect 项目 718176 的回答(Connect 已停用,此页面没有可用的存档):

经过一些调查,这种行为是设计使然,因为 + 是一元运算符。所以解析器接受 "+ ,在这种情况下 '+' 被简单地忽略。

更改此行为会对向后兼容性产生很多影响,因此我们不打算更改它,此修复程序将对应用程序代码引入不必要的更改。


(根据Martin Smith对该问题的评论生成的社区 Wiki 答案)