|
|
|
| Возможно ли задать в самом запросе регулярку вида A-Z для поиска всех записей начинающиеся на букву анг алфавита? | |
|
|
|
|
|
|
|
для: OLi
(23.03.2011 в 00:11)
| | Для этого удобно воспользоваться оператором RLIKE и следующим регулярным выражением
SELECT * FROM tbl WHERE fld LIKE '^[A-Z]'
|
| |
|
|
|
|
|
|
|
для: cheops
(23.03.2011 в 12:34)
| | Странно, вот запрос select * from companes where vip=1 and title LIKE '^[A-Z]%' order by title,id
В таблице есть запись с title = azuk
Запрос ничего не возвращает...
и ошибок вроде тоже нету.. | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 01:43)
| | У вас вероятно зависящее от регистра сопоставление, исправьте запрос так
select * from companes where vip=1 and title LIKE '^[a-zA-Z]%'
|
| |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 10:35)
| | Все равно не находит совпадений | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 11:22)
| | Все сделал через REGEXP | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 11:34)
| | Да, конечно, ошибка в запросе, вместо LIKE нужно указывать RLIKE, который является синонимом REGEXP. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 11:36)
| | Есть еще такой запрос, который почему-то не возвращает записи, начинающиеся с 'А'
select * from companes where vip=1 and title LIKE 'А%' order by title,id
Русские символы..
Запись в таблице вида:
Аленушка
аленушка | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 12:29)
| | А не может условие vip = 1 тут мешать выбирать записи? | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 12:33)
| | Нет, запись с vip=1 есть | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 13:16)
| | Именно с большой буквой А? Дело в том, что маленькие буквы могут не попадать в выборку, если у вас выбрано регистрозависимое сопоставление. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 13:22)
| | В базе запись и с маленькой и большой буквы...в Like вставляется А...не находит в обеих случаях | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 13:24)
| | 1. Кодировка соединения правильно указывается? Она совпадает с кодировкой, в которой набрана буква А в запросе?
2. Тестируете в скрипте? В phpMyAdmin тот же результат? | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 13:29)
| | В phpmyadmin запрос возвращает результат для 'а' и 'А' | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 14:11)
| | phpMyAdmin - это большой PHP-скрипт, все что он делает, вы можете добиться в своем скрипте. Если он возвращает правильный результат, а ваш скрипт нет - где-то что-то неправильно с кодировками. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2011 в 14:13)
| | Кодировка в базе utf8
Страницы utf8
Прописаны заголовки <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
и при коннекте mysql_query('set names "utf8"');
Странно работает...добавил запись с 'Е' находит как для 'е' 'Е' | |
|
|
|
|
|
|
|
для: OLi
(26.03.2011 в 14:24)
| | Если не сложно прикрепите кусочек дампа с проблемной таблицей (пару записей), чтобы можно было воспроизвести ситуацию? | |
|
|
|