SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 17.10.2011 02:54:35

mikeac
Участник
Зарегистрирован: 17.10.2011
Сообщений: 7

мульти-TRIM функция и тип переменной массив - это возможно?

вопрос гуру БД MySQL - возможна ли реализация такого типа средствами MySQL:

SET @array=[' ','(',')','+'];
update table1 SET a_search=TRIM(BOTH @array FROM `string_orig`);


хочу произвести вырезание лишних символов в столбце одним запросом, вроде как функция TRIM на это способна, а вот передать через массив нельзя переменную, массивов в mysql'е нет?

Неактивен

 

#2 17.10.2011 05:13:47

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: мульти-TRIM функция и тип переменной массив - это возможно?

Массивов как таковых нет. Но Вы можете написать свою функцию, которая вырежет все ненужные символы из строки и вернёт требуемую строку.

UPDATE `table1` SET `a_search` = your_function_name(`string_orig`);


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 17.10.2011 12:29:00

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: мульти-TRIM функция и тип переменной массив - это возможно?

Мне кажется mikeac, хотел просто вырезать символы.

update table1 SET a_search=REPLACE(REPLACE(REPLACE(REPLACE(a_search,' ',''),'+',''),')',''),'(','');

Неактивен

 

#4 17.10.2011 15:16:19

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: мульти-TRIM функция и тип переменной массив - это возможно?

Тоже вариант. Но в функцию можно передать набор символов, которые нужно вырезать (вернее строку, состоящую из набора символов). Как-то так:

UPDATE `table1` SET `a_search` = your_function_name(' ()+',`string_orig`);


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 17.10.2011 17:49:17

mikeac
Участник
Зарегистрирован: 17.10.2011
Сообщений: 7

Re: мульти-TRIM функция и тип переменной массив - это возможно?

Спасибо Вам, Ваши ответы дали понять в каком направлении можно идти.

Наверное быстрым решением для меня будет REPLACE , а по мере освоения пользовательский функций и процедур  - будет написанная функция.

Отредактированно mikeac (17.10.2011 17:52:29)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson