В моей таблице Employee
на сервере SQL у меня есть два столбца даты и времени: HiringDate
и ResignDate
. Я хочу создать новый столбец Status
(активный, неактивный) в представлении.
- Если HiringDate равен NULL или больше, чем сегодня = Неактивно
- Если HiringDate активен, но ResignDate более ранний, чем сегодня, то статус также должен быть неактивным.
Нужно ли создавать какой-то вложенный случай, чтобы сделать эту работу, и мне также интересно, нужно ли мне преобразовывать его в формат даты, чтобы часть времени не учитывалась.
Был бы очень благодарен за помощь.
Вот то, что я пробовал до сих пор, но это не работает должным образом ...
CASE
WHEN CONVERT(DATE,HiringDate) IS NOT NULL
OR CONVERT(DATE,HiringDate) <= CONVERT(DATE,GETDATE())
THEN
CASE
WHEN CONVERT(DATE,ISNULL(ResignDate, CONVERT(DATE,'2099-12-30'))) <= CONVERT(DATE,GETDATE())
THEN 'Active'
ELSE 'Inactive'
END
ELSE 'Inactive'
END as Status