— угу, фигню сморозил…baev
ы?
— кстати, очень даже стандартный приём. Ориентироваться на всякого невежду тоже не стоит.что-бы потом не возникало вопроса а что-же это такое и как оно работает (особенно с XOR).
В ассемблере да, в высокоуровневых языках нет.— кстати, очень даже стандартный приём. Ориентироваться на всякого невежду тоже не стоит.
— давай будем решать проблемы по мере их поступления, а не высасывать их из пальца. Лично я бы не стал вообще подобный флаг делать ENUM'ом или, тем более, CHAR'ом.Я встречал БД, где в качестве логического поля использовался CHAR(1) со значениями 'Y' и 'N' (Oracle), и как в данном случае решать точно такую-же задачу?
— негодую!узкоприминимую
CHAR(167 - ORD(`active`))
Хватит нести бред. Это тема про mysql запрос. Нет тут никакого ассемблера.В ассемблере да
Переформулируем вопрос. Использование побитовой арифметики там, где требуется использовать логические операции это норма для SQL? А для программирования вообще?Хватит нести бред. Это тема про mysql запрос. Нет тут никакого ассемблера.
— как будто побочные действия каких-то витаминок прочитал.Негативные последствия это снижение читаемости решения, уменьшение его универсальность и непереносимость запроса
Тогда отчасти виноват. Наследие С приводит к мысли, что xor - оператор побитовый, а про его логические корни я как-то забыл.Если уж на то пошло, то я употребил не побитовый оператор, а логический.
В ступор то не вводит, но заставляет вспоминать что это, так как он не так часто применяется.Если некоторых современных «программистов» XOR вводит в ступор, то это их проблемы.
Конечно есть, называетсяP.S. Кстати, в Oracle и PostgreSQL есть IF() с точно таким же синтаксисом? Или может быть это даже в стандарте каком есть? Не пониманию этой дрочки на IF().
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
— это точно такой же синтаксис? А как же тогда непереносимость запроса?Конечно есть, называется