1. SQL / Говнокод #19044

    −50

    1. 1
    2. 2
    3. 3
    SELECT ...
    FROM...
    WHERE DATA_EM1 > TO_DATE(TO_CHAR(P_DATA_EM1, 'yyyymmdd') || '000000', 'yyyymmddhh24miss')

    -TRUNC(P_DATA_EM1).... не?
    -А шо так можна?

    Запостил: OAS_GUEST, 18 Ноября 2015

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

    • лайк, если тебе тоже лень досанально учить это скюл;, дел, инсерт, апдейт и селект - вполне достаточно
      Ответить
      • лайк репост падписка

        >лень досанально учить эти языки пограммирования;, иф, фор, вайл и гоуту - вполне достаточно
        fixed
        Ответить
        • > иф, фор, вайл
          Это все частный случай гоуту
          гоуту вполне достаточно
          Ответить
          • как ты иф через гоуту-то сделаешь?
            вроде во всех языках оно тупо в статический адрес разворачивается
            Ответить
            • a=10;
              b= 7;
              goto a-b;
              3:
              бейсик 100% умел вычислять куда топать.
              Ответить
              • шах и мат мне:
                20 LET A=50
                30 LET B=10
                40 GOTO A + B
                50 PRINT "NO"
                60 PRINT "YES"

                работает, однако
                Ответить
              • Не все бейсики умели в такие виртуальные джампы/функции, ох не все.
                Ответить
            • Можно использовать переменные указатели на функции, тогда иф не нужен.
              Ответить
              • ты забыл, что с гоуту функции не нужны
                Ответить
                • А как тогда сделать иф? Нужны либо ленивые операторы && и ||, либо тернарник. Либо деление на ноль и отлов исключений.
                  Ответить
    • Честно говоря приходилось так велосипедить, потому что не мог найти вменяемую информацию по этим конченным операциям с датами
      Ответить
      • ох, знали бы вы как меня затрахал один отдел, который попросил написать программу, чтобы она по расписанию коннектилась к оракловой базе, выполняла там запрос, и результат его отправляла во вложенном экселе по почте.
        в один прекрасный момент, она начала падать с ошибками, и когда я посмотрел на их запросы, там было to_date(to_char('dd.mm.yyyy'))).
        дня два я до них не мог донести, что так писать вообще нельзя, хотя бы потому, что для второго to_date формат не указан.
        "а чо такое? ты рукожоп? у меня в Sql Developer этот запрос выполняется! какие еще NLS? что это вообще? ты программу пофикси?"
        нет, конечно, я там добавил параметры NLS перед запуском, но там еще много чего было, типа ; в конце запроса. как выяснилось, несмотря на то, что sql developer ругается, что запрос не закончен ; для парсера запросов оракла это вилы, примерно как деление на ноль.
        Ответить

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