Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос update / 8 сообщений из 8, страница 1 из 1
02.09.2013, 17:43:18
    #38384483
avelin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
Всем привет, помогите, пожалуйста, создать правильный запрос. Мне нужно удалить все латинские слова в поле name, чтобы остались только кириллические символы. Латинские символы есть прописные и заглавные.
...
Рейтинг: 0 / 0
02.09.2013, 18:34:41
    #38384532
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
...
Рейтинг: 0 / 0
02.09.2013, 20:01:50
    #38384631
avelin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
мне нужно не только найти все буквы, но и заменить их на пустое место, а в одном запросе у меня это сделать не получается.
...
Рейтинг: 0 / 0
02.09.2013, 20:43:52
    #38384672
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
avelinмне нужно не только найти все буквы, но и заменить их на пустое место, а в одном запросе у меня это сделать не получается.А за каким хреном их тебе надо НАЙТИ? просто заменить - некошерно?
...
Рейтинг: 0 / 0
02.09.2013, 22:18:10
    #38384745
Stupid_BOT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
avelin,
добавляете в базу функцию и используете
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create function remove_latin(p_str text) returns text
deterministic no sql
comment 'Удаление латинницы из строки
 !!! ПРОТОТИП !!! Проверялась на utf8, windows-1251. На др. кодировках может не работать как ожидается.
usage: update sometable set somefield = remove_latin(somefield) where ... and somefield regexp \'[A-z]\';'
begin
  declare v_len int unsigned default char_length(p_str);
  declare v_i int unsigned default 1;
  declare v_str text default '';
  declare v_char varchar(1);
  
  while v_i <= v_len do
    set v_char = substr(p_str, v_i, 1);
    if v_char > 'z' or v_char < 'A' then
	  set v_str = concat(v_str, v_char);
    end if;
    set v_i = v_i + 1;
  end while;
  
  return v_str;
end

...
Рейтинг: 0 / 0
03.09.2013, 08:52:48
    #38384903
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
Есть пара символов, которые при такой обработке будут удалены, хотя и не являются буквенными... на них надо добавить доп. проверку.
...
Рейтинг: 0 / 0
03.09.2013, 09:44:19
    #38384960
Stupid_BOT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
Akina Есть пара символов , которые при такой обработке будут удалены, хотя и не являются буквенными... на них надо добавить доп. проверку.Ссылкой на документацию поделишься?
...
Рейтинг: 0 / 0
03.09.2013, 09:48:13
    #38384965
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать запрос update
не-а... просто прогони через свой код все символы, доступные с клавиатуры в обеих раскладках...
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите создать запрос update / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]