powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите вырезать спецсимволы..
3 сообщений из 3, страница 1 из 1
Помогите вырезать спецсимволы..
    #39537788
ded-mazay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени!
Собственно т.к. в мускуле нет регулярок возвращающих текст по маске пытаюсь создать функцию кот. возвращает только буквы и цифры:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
delimiter |
CREATE FUNCTION ALLNUM(mystr VARCHAR(1000))
RETURNS VARCHAR(1000) DETERMINISTIC
BEGIN
DECLARE newstr VARCHAR(1000);
DECLARE l INT(15);
SET l = 0;
WHILE l < LENGTH(mystr) DO
	SET l = l + 1;
	IF SUBSTR(mystr, l, 1) REGEXP '[[:alnum:]]' THEN
		SET newstr = CONCAT(newstr, SUBSTR(mystr, l, 1));
	END IF;
END WHILE;
RETURN newstr;
END;
|
delimiter ;



На выходе получаю NULL (select allnum('ABCxyz123') from dual), что не так?
...
Рейтинг: 0 / 0
Помогите вырезать спецсимволы..
    #39537792
ded-mazay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Заменил IF SUBSTR(mystr, l, 1) REGEXP '[[:alnum:]]' THEN
на IF SUBSTR(mystr, l, 1) REGEXP '[[:alnum:]]' = 1 THEN
не помогло..
...
Рейтинг: 0 / 0
Помогите вырезать спецсимволы..
    #39537802
ded-mazay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос снеят, надо было задать переменной newstr значение:
SET newstr = '';
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите вырезать спецсимволы..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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