Нулевое условие в производном столбце для переключения на созданную дату, если значение обновленной даты равно NULL - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть таблица сотрудников, которая содержит:

  • createdDate: дата создания сотрудника
  • updatedDate: дата обновления, если в сотруднике есть изменение

Это пример:

EmployeeId createdDate updatedDate
54         2013-07-10  NULL
245        2016-06-29  2016-07-03

Если updatedDate имеет значение NULL, мы будем рассматривать только createDate. Я использую производный столбец, как я могу использовать условие?

Мой запрос, как показано ниже:

SELECT IIF(ISNULL(updatedDate),createdDate , updatedDate)
FROM employee

Ответы [ 3 ]

3 голосов
/ 18 февраля 2020

ISNULL() будет подходящим:

SELECT ISNULL(updatedDate, createdDate)
FROM employee e;

ISNULL() принимает два аргумента: один возможен null значений, а другой - замена null значений.

2 голосов
/ 18 февраля 2020

Я бы просто использовал coalesce(). Он делает именно то, что вы просите, и это стандарт SQL (в отличие от ISNULL(), что так или иначе определяется поставщиком c):

select coalesce(updatedDate, createdDate) from employee
2 голосов
/ 18 февраля 2020

В вашем производном столбце условие должно быть таким, как показано ниже:

ISNULL(UpdatedDate)  ? CreatedDate :  UpdatedDate
...