Знак "+" перед первым столбцом игнорируется или оказывает влияние? - PullRequest
3 голосов
/ 10 июля 2020

На самом деле это не проблема, просто я хочу не оставаться в неведении, если этот оператор может иметь влияние на запрос.

Чтобы упростить, у меня был запрос вроде :

SELECT 'A', + 'B'

Ожидаемый результат - «AB». Но из-за нежелательной запятой перед '+' результатом были два столбца, 'A' и 'B'.

После того, как это обнаружилось, мне интересно, как SQL Сервер читает запрос типа

SELECT + 'A'

, потому что он возвращает «A». Это '+' игнорируется, или интерпретируется как '' + 'A', или в конкретной ситуации влияет на запрос?

Спасибо за внимание.

PS, просто для удовольствия, потому что здесь легко увидеть проблему, но мой случай был больше:

SELECT CASE WHEN 1 = 1 THEN 'A' ELSE 'B' END, + CASE WHEN 1 = 1 THEN 'B' ELSE '' END AS MYFIELD

Я поставил 1 = 1, чтобы проиллюстрировать, что я уверен в своих условиях, и MYFIELD возвращал 'B', точно так же, как без запятой, два условия были неправильными ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...