[SQL] Инвертирование значений
update table set field=1-field
а ведь точно
З.Ы. Спросите - почему не булевский? Потому что надо не только на 1 и 0 проверять, но и плюсовать это значение в счетчике
З.З.Ы.
Кстати, отсюда вопрос...
$a=1
чему будут равны
$a += true
$a = $a+true
$a = true+$a
?
Есть какое-то общее правило или зависит от языка и (или) его версии?
update table set field=1-fieldеще бы добавить работу с наллами
и было бы вообще супер
Под мускуль допиливайте без меня.
update table set parent_id = decode(parent_id,508,517,517,508) where parent_id in (508,517);
еще вариант с case, с coalesce
update table set parent_id = decode(parent_id,508,517,517,508) where parent_id in (508,517);Как-то многабукв Вот на четыре буквы короче:
update table set parent_id = decode(parent_id,508,517,508) where parent_id in (508,517);
Точно, зато менее понятно.
update table set parent_id = decode(parent_id,508,517,517,508) where parent_id in (508,517);Еще короче
update table set parent_id = decode(parent_id, 508, 517, 517, 508, parent_id);
И работать будет дольше
Оставить комментарий
uncle17
А как написать что-то вродеupdate table set field=!field
?
Поймет? Если field - булевский?
А если он инт, но всего у него пока значений - 0 и 1