- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
CASE
WHEN TO_CHAR (SYSDATE, 'hh24mi') >= '0000'
AND TO_CHAR (SYSDATE, 'hh24mi') <= '0559'
THEN
TO_CHAR (SYSDATE - 1, 'yyyymmdd')
ELSE
TO_CHAR (SYSDATE, 'yyyymmdd')
END
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−167
CASE
WHEN TO_CHAR (SYSDATE, 'hh24mi') >= '0000'
AND TO_CHAR (SYSDATE, 'hh24mi') <= '0559'
THEN
TO_CHAR (SYSDATE - 1, 'yyyymmdd')
ELSE
TO_CHAR (SYSDATE, 'yyyymmdd')
END
Oracle.
Наверное хотели sysdate - 6/24
ksogor 29.04.2013 15:12 # 0
Хотя, да... TO_CHAR(TRUNC(SYSDATE-6/24), 'YYYYMMDD')
slbsomeone 30.04.2013 09:37 # 0
Меня настолько терзали сомнения, что я написал запрос для провеки равно
ли значение вычисляемое CASE значению простого вычитания для каждой секунды 2012, 2013 годов.
ksogor 08.05.2013 12:02 # 0
Другое дело, что с CASE логика очевиднее, но это исключительно для случаев, когда нельзя дописать комментарий.
mirTONU 25.08.2021 07:14 # 0