Есть ли способ объединить два условия в CASE WHEN SQL Statement? - PullRequest
0 голосов
/ 18 апреля 2020

Я создаю флаг да / нет для SQL данных, и у меня есть что-то похожее на:

'' 'СЛУЧАЙ, КОГДА col_name НЕДЕЙСТВИТЕЛЬНО ИЛИ col_name = 0 THEN "N" ELSE "Y" END AS col_name_flag '' '

Есть ли способ быть более кратким, чтобы мне не нужно было писать имя столбца дважды? Многие из имен столбцов очень длинные, поэтому мне было интересно, можно ли было бы сделать его более привлекательным для визуального восприятия.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2020

Вероятно, самый простой метод - это обратное сравнение:

(CASE WHEN col_name <> 0 THEN 'Y' ELSE 'N' END) AS col_name_flag
1 голос
/ 18 апреля 2020

Вы также можете использовать:

CASE IsNull(col_name,0) =0 THEN 'N' ELSE 'Y' END as col_name_flag

Но я бы go ответил бы Гордоном за производительность ...

...