Как в mysql скопировать из строки 0 символов?

327
06 августа 2017, 07:13

Хочу сделать, что бы в одно запросе, проверялось условие, и в зависимости от этого, строка принимала, то или иное, значение.

Вот пример с числовыми значениями

UPDATE table SET intValue = 
(5 * CAST(a>b AS SIGNED INTEGER)) 
+ 
(21 * CAST(a<=b AS SIGNED INTEGER))
WHERE active = "1"

Я хочу сделать тоже самое со строкой, копируя из нее, если условие выполнилось всю строку, а если не выполнилось 0 символов, пробую так

UPDATE table SET strValue = 
SUBSTRING("vasia", 1, LENGTH("vasia") * CAST(a>b AS SIGNED INTEGER)) 
+ 
SUBSTRING("petia", 1, LENGTH("petia") * CAST(a<=b AS SIGNED INTEGER)) 
WHERE active = "1"

в таблицу записывается "0", хотя одно из условий точно выполнилось

UPD

Решил сделать так

UPDATE table SET strValue = ELT(CAST(a<=b AS SIGNED INTEGER) + 1, "vasia", "petia")
READ ALSO
Невыгружаемое activity

Невыгружаемое activity

Есть activity c webview, в котором открывается банковская страница оплатыДля подтверждения оплаты банк высылает sms код

284
Откуда hibernate берет несуществующие данные?

Откуда hibernate берет несуществующие данные?

Есть форма и таблица с даннымиОткрываю нужный объект для редактирование в первый раз, естественно всё нормально

282
в Java hashTable.hashCode() всегда возвращает 0

в Java hashTable.hashCode() всегда возвращает 0

Есть структура(класс)

417