У меня есть таблица SQL Server 2005, которая имеет строковый столбец, в котором пустые значения иногда хранятся как NULL
и другие времена как пустая строка.
Я делаю a SELECT DISTINCT
на этом столбце и я получаю все отличные значения + ПУСТОЙ УКАЗАТЕЛЬ + пустая строка. Но то, что я хотел бы, должно проверить, является ли значение НУЛЕВЫМ, и возвратите пустую строку вместо этого. Таким образом, набор результатов был бы всеми отличными значениями + пустая строка (если бы какие-либо значения были нулевыми или пустая строка).
Но как я могу сделать это в операторе SELECT?
Проверьте isnull () в Книги SQL Server онлайн .
Синтаксис:
ISNULL ( check_expression , replacement_value )
Пример:
Select ISNULL(myfield1,'') from mytable1
Посмотрите на функцию Coalesce . Она возвращает первое не null
переданное значение.
COALESCE( myValue , '' )
Это вернет myValue, если оно не нулевое, или пустую строку (''
), если оно нулевое.
Это менее многословно, чем использование многих ISNULL()
и IF
клаузул, и поэтому может быть проще для чтения.