SQL-запрос для объединения двух столбцов даты в объединенный столбец - PullRequest
0 голосов
/ 27 мая 2018

У меня есть таблица с двумя разными столбцами данных, которые я хочу объединить в один столбец l.date_Combined.

Сначала рассмотрим, есть ли дата в l.date_time_ic.Если это пустое, ищите дату в l.date_time_mc.Поместите результат в l.date_Combined.

Я смог выполнить предложение where, но не знаю, как построить логику обновления для комбинированного поля.

select
    l.id,
    l.date_time_ic,
    l.date_time_mc
from 
    new.customers l
where
    ((l.date_time_ic between '4/1/2018' and '4/30/2018') or
    (l.date_time_mc between '4/1/2018' and '4/30/2018' and
     l.date_time_ic is null));

1 Ответ

0 голосов
/ 27 мая 2018

Я верю, что вы просто хотите coalesce().Что еще более важно, представляйте свои даты, используя стандартный формат ISO / ANSI, такой как ГГГГ-ММ-ДД:

select l.id,
       coalesce(l.date_time_ic, l.date_time_mc) as thedate
from new.customers l
where coalesce(l.date_time_ic, l.date_time_mc) >= '2018-04-01' and
      coalesce(l.date_time_ic, l.date_time_mc) < '2018-05-01' ;

. Вы заметите, что я изменил логику даты, чтобы использовать сравнения вместо between. Здесь - хороший блог на эту тему.Большая часть того, что есть в блоге, относится ко всем базам данных, а не только к SQL Server.

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