Forum Webscript.Ru

Общие => Базы данных => Тема начата: Mrak от 14 Мая 2003, 15:52:05

Название: Выборка с алфавитом.
Отправлено: Mrak от 14 Мая 2003, 15:52:05
Помогите плиз.
Суть задачи такова: надо получить все записи из столбца таблицы которые начинаются на латинские буквы алфавита.
В какую сторону копать? LIKE? WHERE? И можно ли сделать это средствами MySQL?
Название: Выборка с алфавитом.
Отправлено: Макс от 14 Мая 2003, 16:45:16
SELECT * FROM your_table WHERE your_field REGEXP \'[a-z]*\'
или я задачу неправильно понял ?
Название: Выборка с алфавитом.
Отправлено: Mrak от 14 Мая 2003, 16:52:12
К сожалению не прокатывает :(
Вот мой запрос
$query = "SELECT * FROM mp3 WHERE artist REGEXP \'[a-z]*\' GROUP BY artist ORDER BY id DESC LIMIT 0,20" or die ("Invalid query");

REGEXP \'[a-z]*\' просто игнорируется.
Название: Выборка с алфавитом.
Отправлено: Макс от 14 Мая 2003, 16:59:26
забыл символ начала строки поставить. Так попробуй
... REGEXP \'^[a-z]*\'
Название: Выборка с алфавитом.
Отправлено: Mrak от 14 Мая 2003, 22:39:22
Спасибо за наводку.
Сработала такая конструкция REGEXP \'^[a%-z%]\'

Ну с латинскими разобрался, с цифрами тоже. А русские cp1251 не работают. На сервере стоит по умолчанию ср1251.

Как победить REGEXP \'^[а%-я%]\' ?
Название: Выборка с алфавитом.
Отправлено: Maniac от 15 Мая 2003, 18:17:55
REGEXP \'^[абвгдеёэжзийклмнопрстуфхцчшщъыьэюя]\' не пробовал?
Название: Выборка с алфавитом.
Отправлено: Mrak от 15 Мая 2003, 21:08:54
2 All
Поражаюсь своей недогадливости :)
Спасибо, всё получилось.