Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

[SQL] Почему не работает запрос '%4'

BlackSad Мыслитель (8336), на голосовании 4 года назад
Нужно что бы вывелись все числа у которых в начале есть 18. Я использую этот код:
Select Name, LastName, FatherName,NumScheta From ClientTbl
where NumScheta like '18%';

И он работает, все выводится. Но если мне надо вывести числа у которых есть в конце 4, а т. е
where NumScheta like '%4' то это не работает, хотя такие числа точно имеются!
Возможно проблема в том что эти числа разной длинны иногда... Если нет то что делать?

Голосование за лучший ответ
Varana Snavina Мудрец (10582) 4 года назад
LIKE работает только с текстовыми значениями, ежели значения цифровые, то они приводятся к текстовым перед выполнением оператора, и это не предсказуемый результат.

Лучше используйте REGEXP.
NumScheta REGEXP '^[0-9]+4$'
Похожие вопросы