Если EndDate in (DateDiff) равен Null, используйте сегодня

Если вы используете jshint , это приведет к возникновению ошибки, если вы используете двойную кавычку.

Я использовал ее через yoman scafflholding AngularJS, но, возможно,

Кстати, когда вы обрабатываете HTML в JavaScript, проще использовать одиночную кавычку:

var foo = '
Cool content
';

И по крайней мере JSON использует двойные кавычки для воспроизведения Строки.

Нет тривиального способа ответить на ваш вопрос

0
задан a_horse_with_no_name 15 January 2019 в 19:40
поделиться

1 ответ

Функцию COALESCE можно использовать для замены текущей даты GETDATE() нулевыми значениями. Это также можно сделать с помощью функции ISNULL, однако COALESCE является стандартом ANSI, который позволяет использовать его на нескольких платформах баз данных, если это необходимо. Исходя из вашего вопроса, похоже, что вы хотите использовать текущую дату, только когда все значения в этом столбце равны нулю, поэтому COALESCE находится за пределами функции MAX. Если вы хотите заменить любые нули на текущую дату, то сравните их с ненулевыми значениями, которые необходимо поместить в функцию COALESCE внутри MAX.

(
SELECT 
JCDS_SOGR.OBJNR, JCDS_SOGR.STAT, TJ02T.TXT30, DATEDIFF(DAY,MIN(JCDS_SOGR.UDATE), COALESCE(MAX(JCDS_SOGR.UDATE), GETDATE()))
AS DIF
FROM JCDS_SOGR
JOIN TJ02T ON JCDS_SOGR.STAT = TJ02T.ISTAT
WHERE JCDS_SOGR.OBJNR = 'IE000000000010003791'
AND TJ02T.SPRAS = 'E'
GROUP BY JCDS_SOGR.OBJNR,JCDS_SOGR.STAT,TJ02T.TXT30) 

UNION ALL

(
SELECT JCDS_SOGR.OBJNR, JCDS_SOGR.STAT, TJ30T.TXT30, DATEDIFF(DAY,MIN(JCDS_SOGR.UDATE), COALESCE(MAX(JCDS_SOGR.UDATE), GETDATE()))
AS DIF
FROM JCDS_SOGR
JOIN TJ30T ON JCDS_SOGR.STAT = TJ30T.ESTAT
WHERE JCDS_SOGR.OBJNR = 'IE000000000010003791'
AND TJ30T.SPRAS = 'E'
AND TJ30T.MANDT='400'
AND TJ30T.STSMA = 'VEHICLE'
GROUP BY JCDS_SOGR.OBJNR,JCDS_SOGR.STAT,TJ30T.TXT30)
0
ответ дан userfl89 15 January 2019 в 19:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: