Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / CHECK (...) / 5 сообщений из 5, страница 1 из 1
06.07.2004, 13:28
    #32591259
-gray-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CHECK (...)
Хочется замутить проверку на символы:
Код: plaintext
SELECT lower('Qwe123_-.') SIMILAR TO '[.a-z,\_,0-9-]+';
Например в маску включены символы '.', '-', '_', 0-9, a-z, но вот блин '_' не работает, подскажите что не так, плиз.
ЗЫ: Это будет CHECK в таблице, триггеры не предлагать =)
...
Рейтинг: 0 / 0
06.07.2004, 15:11
    #32591564
-gray-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CHECK (...)
Решение найдено ввиде вот такой хрени:
Код: plaintext
SELECT lower('qwe1-_23.') SIMILAR TO '[.a-z,\w_,0-9-]+' ESCAPE '\w';
Но чё-то я не совсем понимаю назначение '\w'... =/
Может кто объяснит или поправит? Буду благодарен.
...
Рейтинг: 0 / 0
06.07.2004, 18:57
    #32592188
vis
vis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CHECK (...)
Ответ содержится в вопросе :)

Код: plaintext
... ESCAPE '\w';

ты объявил ESC-последовательностью символ \w, насколько я понимаю
...
Рейтинг: 0 / 0
07.07.2004, 08:02
    #32592509
-gray-
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CHECK (...)
visОтвет содержится в вопросе :)

Код: plaintext
... ESCAPE '\w';

ты объявил ESC-последовательностью символ \w, насколько я понимаю

Это я вроде понял, но почему не работает стандартный '\' символ?
...
Рейтинг: 0 / 0
07.07.2004, 10:02
    #32592690
sn1251
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CHECK (...)
Потому что \ надо удваивать. Первый раз \\ заменит на \ парсер запроса. А второй раз \_ на _ собственно оператор similar.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / CHECK (...) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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