![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема Substring+Locate (MySQL) [MySQL]
Dimedrol © (2005-01-05 19:39:00)Коллеги, стоит задача выбрать позицию первой буквы
текстового поля из строки:
мой запрос -
select
SUBSTRING(heading1,1,1) as subs,
LOCATE(SUBSTRING(heading1,1,1), 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ') as loc
from main limit 10
В резульате получаю -
subs loc
t 53
к 10
б 1
п 17
с 18
Т 18
к 10
с 18
у 18
+ 0
Короче - проблема в том, что в результатах,
видно, что у РАЗНЫХ букв получаются ОДИНАКОВЫЕ позиции.
КАК такое может быть ?
(База MySQL)
User_Name (2005-01-06 15:15:00) [1]2 Dimedrol © (06.01.05 15:10) [7]
3.23.53 и 4.0.20.
Согласен, только перевожу потихоньку все на MS SQL 2000 :)
Dimedrol (2005-01-06 15:10:00) [2]а какая у тя версия ?
PS
Вообще мне некогда замечательный сервер MySQL нравиться все меньше и меньше. :-(
Сейчас ВСЕ стараюсь делать на Firebird.
User_Name (2005-01-06 15:05:00) [3]2 Dimedrol © (06.01.05 14:44) [5]
Просто версии сервера разные :)
С 4.1.х эта кодировка и начала называться koi8r (ИМХО)
Dimedrol (2005-01-06 14:44:00) [4]koi8_ ПОДЧЕРКИВАНИЕ_ru нет такой страницы ;-)
есть koi8r!
НО! Еще вопрос - как у тебя выглядит dump таблицы ?
Там он в Create Statement в конце показывает charset самой таблицы !
User_Name (2005-01-06 12:20:00) [5]Если сервер тестовый - перезапусти с кодировкой
--default-character-set=koi8_ru
У меня такая :) и твой запрос нормально отработал (естессно таблица и поле другие :) но это не важно :) )
Dimedrol (2005-01-06 11:14:00) [6]2 User_Name
1. Тj же самое
2. Default (latin1)
User_Name (2005-01-06 10:18:00) [7]Потестил, все нормально буква Б имеет 2-ю позицию :)
1. Поменяй например в запросе Б на б и посмотри какая позиция будет.
2. С какой кодировкой запускается MySQL
Dimedrol (2005-01-05 19:41:00) [8]А у буквы "Б" вообще - позиция не 2 а 1 :-(