Это то, что вы пытаетесь сделать?
SELECT CONCAT(CASE WHEN NAME IS NULL THEN '- notinNAME' ELSE '' END,
CASE WHEN TEL IS NULL THEN '- notinTEL' ELSE '' END
)
FROM ADDRESS;
Вы не можете использовать переменные по нескольким причинам.Во-первых, SQL Server не позволяет назначать переменные в SELECT
, а также возвращать значения.
Что более важно, SQL (в целом) не гарантирует порядок вычисления выражений в SELECT
,Ваша формулировка предполагает определенный порядок оценки, поэтому она не будет работать.
РЕДАКТИРОВАТЬ:
Если вы хотите использовать переменные:
SELECT CONCAT(CASE WHEN NAME IS NULL THEN @NAME ELSE '' END,
CASE WHEN TEL IS NULL THEN @TEL ELSE '' END
)
FROM ADDRESS;