В моем SQL я использую NULLIF(NULLIF(UPPER(T.Column),''),'NULL')
в нескольких местах. Но проблема в том, что он обновляет T.Column до верхних шапок. Теперь я думаю использовать NULLIF(NULLIF(T.Column,''),'NULL')
. Моя заявка на производство. Не уверен, что это может повлиять на мой запрос?Разница между NULLIF (NULLIF (UPPER (T.Column), ''), 'NULL') и NULLIF (NULLIF (T.Column, ''), 'NULL')?
ответ
Если вы уверены, что все значения в поле в верхнем регистре, то вызов UPPER
является сверхъестественным.
Обратите внимание, что значение должно быть в верхнем регистре, даже если оно содержит текст 'NULL'
, например. 'Null'
или 'null'
не будут преобразованы в null
, если у вас нет кодировки с учетом регистра, установленной на поле.
T.Column может быть NULL, NUll, NuLL и т. Д. – user960567
моя сортировка - «Arabic_CI_AS» – user960567
@ user960567: Тогда сравнение с 'NULL' будет работать без «ВЕРХНИЙ». – Guffa
Будет ли это влиять на ваш запрос ... ну, это зависит от того, где вы помещаете все инструкции NULLIF. Вы даете DB больше работы, чтобы делать в целом, но если этот столбец включен в инструкцию WHERE, это более чем вероятно предотвратит использование оптимизатором индекса в вашем столбце. Следовательно, это может негативно сказаться на производительности. Если его включить в предложение select, то это будет по-прежнему отрицательным, но гораздо меньшим.
Лично это выглядит немного грязно. Если вы используете его повсюду, подумайте о создании представления этой таблицы. В представлении создайте столбец, который имеет эту логику один раз. Затем ваш код может ссылаться на представление, не повторяя вышеуказанные функции. Ваш сохраненный код Proc будет намного чище везде, где беспорядок будет скрыт!
- 1. Функция NULLIF()
- 2. В чем разница между Coalesce и nullif
- 3. Эквивалент NULLIF в свинге
- 4. Postgres NULLIF больше х
- 5. ssrs nullif полное имя
- 6. SQL не может nullif
- 7. Инструкция NullIf в SQL Server
- 8. ISNull, NULLIF, COALESCE, не работает
- 9. Угрозы/недостатки за ISNULL(), NULLIF() и COALESCE()
- 10. POSTGRES COALESCE (NULLIF (c.name, «»), «Unassigned») не работает
- 11. Почему вывод select nullif (0, '') равен NULL (ожидается 0)?
- 12. Исключение при вызове DataTable.Select() с NULLIF
- 13. Oracle NVL, nvl2 и NULLIF функции
- 14. Удалить Ведущие Запястья через Coalasce и NULLIF?
- 15. с помощью MIN и NULLIF правильно
- 16. Что такое замена NULLIF в Hive?
- 17. арифметические уравнения неявно оценен в NULLIF() Руководство
- 18. Метод выражения для NULLIF (с разделителем)
- 19. Ищете альтернативу беспорядочному SQL ISNULL/NULLIF
- 20. Sql loader NULLIF с TERMINATED BY '\ t'
- 21. как использовать NULLIF функцию еще часть сазе
- 22. Как использовать Round And nullif вместе?
- 23. NULLIF производит неправильный вывод в Amazon Redshift?
- 24. Microsoft SQL: CASE WHEN vs ISNULL/NULLIF
- 25. SQLLDR избежать зарезервированное имя с помощью NULLIF
- 26. SQL Server NULLIF не работает должным образом?
- 27. SQL деления на ноль не NULLIF работает
- 28. Где и как использовать функцию NULLIF (X, Y) SQLITE?
- 29. В MySQL, который более эффективен: IFNULL или NULLIF?
- 30. NULLIF в SQL Loader для сравнения строкового значения
Что такое внешний 'ifnull' для? Кажется, излишним. –
@juergend: Чтобы преобразовать строку «NULL» в значение «null». – Guffa
@juergend, да короткая строка «Null» или пустая проверка – user960567