2015-10-19 3 views
1

Фактически я попытался выполнить SQL-запрос is null в базе данных SAP HANA, используя SAP HANA Studio. Это не работает, потому что у SQLScript нет функции is not null или is null. Мое заявление выглядит так:Компенсация SQL "IS NOT NULL" для SAP HANA SQLScript

Select * 
From MSEG 
Where KDAUF is null 

К сожалению, это не сработало. Кто-нибудь знает альтернативный подход, который можно реализовать с помощью SAP HANA SQLScript? В Интернете я нашел намек на использование NULLIF или COALESCE. Но я не знаю, как использовать эту функцию или адаптировать ее к рабочему состоянию WHERE.

ответ

0

NULLIF (выражение, выражение) Возвращает тот же тип, что и в первом выражении.

NULLIF возвращает первое выражение, если два выражения не равны. Если выражения равны, NULLIF возвращает нулевое значение типа первого выражения WHERE IFNULL (KDAUF, сравнительное значение) Я никогда не использую этот код

Другой является коалесцирующим, где, если первый vaLue является нулевым, второй VALUE возвращается:

WHERE = COALESCE значение а (kDAUF, значение а)

здесь, если kdaUf нулевой, слипаются будет возвратит значение а, по умолчанию, если первое значение равно нулю. Поскольку valuea = valuea, предложение where будет истинным, что является еще одним способом проверки того, что KDAUF IS NULL

+0

Здравствуйте. Спасибо за Ваш ответ. К сожалению, я не могу понять ваше решение «COALESCE». Возможно, для лучшего понимания вы можете реализовать решение 'COALESCE', используя мой маленький пример кода:' Select * От MSEG Где KDAUF имеет значение null – user3665218

+0

SELECT * FROM MSEG WHERE 1 = COALESCE (KDAUF, 1). ..... Если Kdauf NULL, COALESCE перейдет к следующей опции: 1, 1 = 1, а предложение WHERE вернет TRUE. Если KDAUF не является нулевым, COALesce вернет значение kduaf (я предполагаю, что он никогда не будет 1), kduaf не будет равен 1, а предложение where не будет выполнено. Немного интуитивно понятный, но очень полезный. –

+0

Примечание - любое значение может использоваться для начального значения и второй переменной функции коалесценции, если они равны. –

 Смежные вопросы

  • Нет связанных вопросов^_^