Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Экранирование специальных символов в SIMILAR TO


Автор: Gluttton 20.11.2010, 16:00
Доброго времени  суток!

Firebird 2.5.
Необходимо создать ограничение на ввод имен - разрешены буквы (Unicode) знак пробела и дефис, все остальное - запрещено. Ограничение реализуется на уровне объявления домена:
Код

CREATE DOMAIN name      AS VARCHAR (50)
                        CHARACTER SET UTF8
                        CHECK (VALUE SIMILAR TO '[^0-9!\+\*;:\?.,\\|/~`"@#$%\^*\(\)\[\]\{\}_\'=]*' ESCAPE '\')
                        COLLATE UTF8;


При этом не могу заэкранировать символ одинарной кавычки (ошибка на этапе сборки: Expected end of statement, encountered EOF).
Возможно, экранировать одинарную кавычку смысла нет, т.к., например я, даже и не знаю, как ее ввести?

Вопрос: нужно ли экранировать одинарную кавычку и если да, то как?
Возможно есть готовое и более правильное решение по ограничению на ввод имен?

Автор: Akella 20.11.2010, 21:37
лучше спросить на SQL.ru, т.к. здесь мало кто использует новшества

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)