我在SqlServer DB存储过程中发现了类似的东西:
SELECT stuff
FROM mytable
WHERE mytable.column = + @parameter
它似乎运行没有错误,所以我认为它没关系。 “+”会做什么?
(毫不奇怪,这是一个有效搜索的难题,所以如果这是重复的话我会提前道歉。)
答案 0 :(得分:5)
+
与更改符号的-
相反。
它什么都不做。
答案 1 :(得分:2)
一元+
在T-SQL中没有做任何事情。
也许编写它的人看到了0+@parameter
并删除了0
以“优化它”。如果0+@parameter
不是数字,则@parameter
会生成错误,而一元+
则不会执行任何操作。
答案 2 :(得分:1)
@parameter
是什么类型的?这可能只是一元加,(而不是减号)。对于数字类型,这没有任何效果。
答案 3 :(得分:1)
返回数据类型 numeric_expression,除了一个 unsigned tinyint表达式 提升到一个小的结果。
答案 4 :(得分:0)
看起来它是将参数转换为数字类型的简写符号。根据您的数据库服务器,甚至可能不需要它。