mysql_real_escape_string / Говнокод #12951 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 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

Oracle.
Наверное хотели sysdate - 6/24

Запостил: slbsomeone slbsomeone, (Updated )

Комментарии (4) RSS

  • При чём тут минус 6h? До шести утра вчерашний день.
    Хотя, да... TO_CHAR(TRUNC(SYSDATE-6/24), 'YYYYMMDD')
    Ответить
    • Скорее to_char(sysdate - 6/24, 'YYYYMMDD')

      Меня настолько терзали сомнения, что я написал запрос для провеки равно
      ли значение вычисляемое CASE значению простого вычитания для каждой секунды 2012, 2013 годов.
      Ответить
      • Да, обрезать нет смысла, лишнее и так убирается при конвертировании. Проверять каждую секунду тоже не было смысла (по той же причине), достаточно "стыки" проверить (смена суток, 6 утра, смена суток со сменой года).
        Другое дело, что с CASE логика очевиднее, но это исключительно для случаев, когда нельзя дописать комментарий.
        Ответить
  • Его как обухом по голове ударили эти слова. Точнее одно слово - "Димоша". Так его называла только мама, да и мало кто знает, что есть такое ласково-уменьшительное имя. Он замер, постоял, чтобы прийти в себя, и вернулся на свою койку.
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8