SQL Server: What does 1 ++ 2 mean?

前端 未结 2 1162
挽巷
挽巷 2020-12-20 12:54

SQL Server\'s T-SQL syntax seems to allow multiple plus signs in succession:

SELECT 1 + 2 --3
SELECT 1 ++ 2 --3
SELECT 1 ++++++ 2 --3
SELECT 1 + \'2\' --3
SE         


        
相关标签:
2条回答
  • 2020-12-20 13:24

    SELECT 1 ++ 2 means 1 plus (+2) which means 3

    Same logic for the others 1+(+(+2)) and so on

    SELECT '1' + '2' --'12' you are concatenating 2 strings, string '1' and string '2', which results '12'

    0 讨论(0)
  • 2020-12-20 13:27

    The first plus sign is interpreted as an addition operator. Each of the remaining plus signs is interpreted as a unary plus operator:

    1 ++ 2   means   1 + (+2)
    1 +++ 2  means   1 + (+(+2))
    

    It's very common in programming languages to have this unary plus operator, though it's rarely used in SQL as it doesn't actually do anything.

    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.

    The unary plus operator is mentioned in the SQL-92 standard.

    As well as the usual arithmetic operators, plus, minus, times, divide, unary plus, and unary minus, there are the following functions that return numbers: ...

    While unary plus isn't all that useful, it has a more useful companion: unary minus. It is also known as the negative operator.

    SELECT -(expression), ...
    --     ^ unary minus
    
    0 讨论(0)
提交回复
热议问题