Как преобразовать Null в пустую строку с помощью SQL

#sql #sql-server #database

Вопрос:

Я хочу преобразовать нулевые данные в пустую строку. Как я могу это сделать?

Вот скриншот моей колонки, все они пусты.

колонка

Вот мой код хранимой процедуры;

 ISNULL(CustomerStatusId, '') AS StatusId
 

И вот скриншот моего сайта, все они равны нулю.

Вывод веб-сайта

Комментарии:

1. Если это числовой столбец, то пустая строка будет отображаться как 0 ….

2. какой тип данных может отображаться как пустая строка? Я могу изменить тип данных.

3. Скорее всего, веревочка …..

4. Что происходит, когда вы возвращаетесь только CustomerStatusId на свой сайт?

5. Это возврат «неопределенный»

Ответ №1:

Проблема в том, что столбец имеет какой-то числовой тип. Вам необходимо преобразовать в строковое значение, даже если это значение равно NULL :

 COALESCE(CAST(CustomerStatusId as VARCHAR(255)), '') AS StatusId
 

Комментарии:

1. Теперь я снова получаю «Ноль». кстати, тип данных столбцов-int.

2. @miracdogan . . . Это действительно невозможно с SQL Server.

3. Я думаю, что речь идет о типе данных столбцов.

4. @miracdogan . . . Если вы храните это в таблице, вы не можете хранить строковое значение в столбце с числовым типом данных.

5. Итак, как я могу распечатать данные типа varchar пустыми? Что бы ни было записано в базе данных, я хочу, чтобы это было строкой empry.

Ответ №2:

Если значение вашего столбца равно 0, то вместо IsNull, пожалуйста, используйте NULLIF и Coalesce() . NULLIF(CustomerStatusId,0) вернет значение null, которое будет заменено на Coalesce() с «.

 Coalesce(nullif(CustomerStatusId,0), '') AS StatusId
 

Комментарии:

1. Я снова получаю 0. Вероятно, о типе столбца даты.