Мне нужно обновить один столбец, если мой casenddate (column) = '3000-01-01', а затем указать ту же дату casestartdate (column) - PullRequest
0 голосов
/ 13 октября 2019

У меня есть столбцы LeaveStartDate и LeaveEnddate. В некоторых ситуациях LeaveEnddate равно 3000-01-01. Итак, в этом случае я хочу использовать те же даты, которые есть в столбце LeaveStartDate.

ex: если это так

LeaveStartDate     LeaveEnddate 

  2018-09-25         3000-01-01

Я хочу, чтобы это было

LeaveStartDate     LeaveEnddate 

  2018-09-25        2018-09-25

В настоящее время я использовал концепцию CTE, чтобы создать ее как временную таблицу. и я подумал, что потом перейду к этой временной таблице с указанным выше условием

Помогите мне написать код для этого или есть пример для этого?

1 Ответ

0 голосов
/ 13 октября 2019

Если вы действительно хотите обновить свои данные, так как заголовок вопроса предполагает, что вы просто сделаете это ...

UPDATE YourTable
SET LeaveEnddate = LeaveStartDate
WHERE LeaveEnddate = '3000-01-01'

Однако, если вы просто хотите выбрать другой столбец на основе значениятогда вы могли бы сделать это ...

SELECT LeaveStartDate,
    CASE WHEN LeaveEndDate = '3000-01-01' THEN
        LeaveStartDate
    ELSE
        LeaveEndate
    END AS LeaveEnddate
FROM YourTable

Помогает ли кто-нибудь из них?

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