замените пустое значение на ноль, используя sql - PullRequest
0 голосов
/ 02 марта 2020

у меня есть некоторые пустые значения в моей таблице с именем partner (city, ...), и когда я хочу изменить их на нулевые значения, используя replace (city, '', null), он возвращает все значения city как null not только те, кто был пуст

Ответы [ 3 ]

2 голосов
/ 02 марта 2020

Вы можете использовать оператор CASE.

SELECT
CITY = CASE WHEN city ='' then NULL else city end 
FROM TABLE
0 голосов
/ 02 марта 2020

Или, просто еще один способ добраться до этого, SQL Сервер предлагает сокращенную версию выражения CASE для подобных ситуаций; функция NULLIF().

SELECT
  NULLIF(city,'') AS CITY
FROM TABLE

Если первый аргумент для NULLIF соответствует второму аргументу, функция возвращает NULL. Итак, если ваш столбец city является пустой строкой, функция вернет вам NULL.

Обратите внимание, что NULLIF также доступно в выражениях SSIS, если вы предпочитаете выполнять там преобразования данных.

0 голосов
/ 02 марта 2020

Использование coalesce():

select coalesce(city, '') as city
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...