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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
SELECT *
FROM table1
WHERE
COALESCE(
  field1,
  field2,
  field3,
  field4,
  field5,
  fieldN,  
  "lol"
)!="lol"

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

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

  • Криво же, сэр.
    select * from sometable where coalesce(field0, field1, fieldM) is not null
    Ответить
      • Минусовщикам разжую.
        Запросы топикстартера и eth0 не являются идентичными.
        Если в одном из столбцов (field1, field2, field3, field4 ...) будет значение "lol", то в первом запросе строка НЕ попадет в выборку, а в запросе eth0 попадет.
        Надеюсь, доступно.
        Ответить
        • А... COALESCE
          "Возвращает первое выражение из списка аргументов, не равное NULL."
          Я думал, это SQL-ная конкатенация.
          Ответить
        • Согласен, но всё равно вряд ли человек хотел исключить из выборки строки "lol". Хотя наверняка предполагал, что таких значений ему не попадется.
          Ответить
        • Спасибо, капитан, я специально так и написал. Поскольку предположил, что в данном случае оный лол не нужен (кроме как последнее ограничивающее условие). Если на нём завязана внутренняя логика, мне неведомая, само собой, мой вариант будет неверным.
          Ответить

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

Где здесь C++, guest?!

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


    8