Ответ 1
Вы должны использовать CASE
SELECT CASE WHEN Field IS NOT NULL
THEN 'something'
ELSE 'something else'
END
У меня есть этот код в моей инструкции select
ISNULL(a.PolicySignedDateTime,aq.Amount) AS 'Signed Premium',
Но я хочу посмотреть, не является ли "a.PolicySignedDateTime" не нулевым. Есть ли простая функция для этого, которая не включает использование инструкции "if"?
Приветствия ребята
Вы должны использовать CASE
SELECT CASE WHEN Field IS NOT NULL
THEN 'something'
ELSE 'something else'
END
Существует выражение COALESCE (хотя функция https://msdn.microsoft.com/en-us/library/ms190349.aspx) проверяет аргументы и продолжает делать это, пока не найдет значение, NULL и возвращает его.
пример использования: SELECT COALESCE(NULL, NULL, 5)--returns 5
В вашем случае: COALESCE(a.PolicySignedDateTime,aq.Amount) AS 'Signed Premium',
Попробуйте следующее:
SELECT CASE WHEN a.PolicySignedDateTime IS NOT NULL THEN a.PolicySignedDateTime ELSE aq.Amount FROM your joined table
Но.... ISNULL (a.PolicySignedDateTime, aq.Amount) проверяет, является ли ваше поле нулевым, поэтому не является нулевым, вы получаете его значение.
Поэтому я действительно не понимаю, потому что вы хотите использовать другой способ.