Mysql LIKE script игнорирует шаблон конечного пробела
У меня есть ценность 8122
который имеет конечный пробел в конце. Почему мой sql-скрипт этого не улавливает? Это сценарий sql:
select * from values where value like '% ' or value like ' %';
Как сделать LIKE более чувствительным в этом смысле?
1 ответ
Решение
Проверяйте длину црнгсм до и после стрижки
значения - это зарезервированное слово в mysql
SELECT
*
FROM `values `
WHERE LENGTH(value) > LENGTH(TRIM(value));
Если вы хотите проверять только правые пробелы, используйте RTRIM, а для левого LTRIM
Если вы ищете только одно место, вы должны проверить
SELECT
*
FROM `values `
WHERE LENGTH(value)-1 = LENGTH(RTRIM(value))
OR LENGTH(value)-1 = LENGTH(LTRIM(value));