What does a plus sign in a SQL WHERE clause (WHERE + userName = SYSTEM_USER)

前端 未结 2 2085
鱼传尺愫
鱼传尺愫 2021-01-14 09:12

I am stuck on trying to find the meaning of a plus sign in a where clause. Anyone have any ideas on this one? Been stuck for a bit on it. The query itself is pretty simple a

2条回答
  •  一向
    一向 (楼主)
    2021-01-14 09:31

    The unary + operator is simply a no op. This is explained in the documentation for this operator, which is here:

    Although a unary plus can appear before any numeric expression, it performs no operation on the value returned from the expression. Specifically, it will not return the positive value of a negative expression. To return positive value of a negative expression, use the ABS function.

    I actually believe this remark is a wee little bit misleading. I think the unary plus operator will convert a string argument to a number. When applied to a constant string filled with digits, this could actually be beneficial as a way of encouraging the compiler to use an index on a numeric field.

提交回复
热议问题