2015-03-17 3 views
2

Вот мой MySQL таблицы:MySQL: строка поиска по первой алфавитной буквы

id | title 
1 | Albert 
2 | ali 
3 | " alienor " 
4 | à rebour 
5 | bernard 
6 | cassy 

Я хотел бы, чтобы выбрать все название «начиная» с «а», в том числе более низкие/прописные буквы, акцентов и игнорируя все не буквенные символы перед первой буквой.

Я хочу, чтобы в результате: 1,2,3,4

Я уже получил регулярное выражение, чтобы получить первую букву:

^[^[:alpha:]]*([[:alpha:]]).*$ 

, но я не выяснить, как использовать его в mysql-запрос.

спасибо за вашу помощь

ответ

2

Есть ли проблема с использованием regex или rlike?

select * 
from table t 
where t.title rlike '^[^[:alpha:]]*[aA].*$' ; 
+0

привет, спасибо за Ваш ответ, Ну ваш запрос будет выбрать название, начиная с «B» или «C» – ERO

+0

@EtienneRoudeix. , , Спасибо. Я исправил это выражение. –

+0

это обыкновение выбирать любые акцентированные A :( На самом деле я бы хотел, чтобы пользователь «власти» вроде ('a' LIKE 'à' = 1) в регулярном выражении – ERO

0

Как additionnal бонусный вопрос:

Могу ли я сортировать мой результат запроса по названию, игнорируя НЕРАСПРОСТРАНЕНИИ буквенные символы?

Так что

" alienor " 

не приходит до того

Albert 

только потому, что она имеет некоторые двойные кавычки.

Приветствия