SQL-запрос, если не существует, добавьте «NA»

#sql

#sql

Вопрос:

Я пытаюсь найти способ проверить, существует ли параметр из SQL-запроса, если он не существует, я хотел бы объявить параметр как строку со значением «na» в выводе / ответе. Не уверен, поддерживается ли это в SQL-запросе или нет? Я не могу найти ничего похожего на мой приведенный ниже «мозговой штурм» при его исследовании.

Любой SQL-гуру, способный внести свой вклад в этот вопрос?

 SELECT parameter1, parameter2 FROM 'test' IF parameter2 NOT EXISTS parameter2 = 'na'
 

Ответ №1:

Вы хотите coalesce() :

 SELECT parameter1, COALESCE(parameter2, 'NA') as parameter2
FROM test;
 

Предполагается, что «не существует» означает, что значение равно NULL . В противном случае вам нужно CASE выражение.

Ответ №2:

Пожалуйста, используйте это в соответствии с требованиями:

ВЫБЕРИТЕ параметр1, ОБЪЕДИНИТЕ (параметр2, ‘NA’) В КАЧЕСТВЕ параметра2 ИЗ теста

Полные примеры в соответствии с требованиями:

ВЫБЕРИТЕ [Имя], ОБЪЕДИНИТЕ ([Уровень], ‘НЕТ’) КАК [Уровень] ИЗ [dbo].[Клиент]

Полные примеры в соответствии с требованиями:

https://docs.microsoft.com/en-us/sql/t-sql/language-elements/coalesce-transact-sql?view=sql-server-ver15

Если существует какая-либо проблема, пожалуйста, ответьте комментариями