Поведение Similar to не соответсвующее паспортным

Модераторы: kdv, CyberMax

Ответить
vso
Сообщения: 5
Зарегистрирован: 19 апр 2012, 13:17

Поведение Similar to не соответсвующее паспортным

Сообщение vso » 19 апр 2012, 13:31

Добрый день, такая проблема!

Создал домен с проверкой вводимого выражения:

Код: Выделить всё

VARCHAR(255) CHARACTER SET WIN1251
CHECK (VALUE SIMILAR TO '([0-9]{1,2}[A-Z]{3}[0-9]{2}[A-Z]{2}[0-9]{3}[A-Z]?\-%)')
При создании все проверки проходят и домен создается.

Но при вводе данных выдает такое сообщение об ошибки:
Error Message:
----------------------------------------
Invalid String.
Invalid SIMILAR TO pattern.


[0054410A]
Если я корректирую строку проверки:

Код: Выделить всё

([0-9]{1,2}[A-Z]{3}[0-9]{2}[A-Z]{2}[0-9]{3}[A-Z]?%)
то все работает, но это не совсем то что мне нужно.

При этом в описании на эту функция я вижу такой пример

Код: Выделить всё

phone VARCHAR(14) CHECK (phone SIMILAR TO '\([0-9]{3}\) [0-9]{3}\-[0-9]{4}' escape '\')
Подскажите как сделать правильно, чтобы до знака '-' была строго установленная последовательность символов, а после - любая?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Поведение Similar to не соответсвующее паспортным

Сообщение Dimitry Sibiryakov » 19 апр 2012, 14:31

Ну а раз сам смог найти пример, то почему в своих строках упорно пропускаешь кляузу ESCAPE?..

vso
Сообщения: 5
Зарегистрирован: 19 апр 2012, 13:17

Re: Поведение Similar to не соответсвующее паспортным

Сообщение vso » 19 апр 2012, 15:39

Огромное спасибо, просто не внял что escape - это директива....

Ответить