我正试图以某种方式在Firebird(2.5)中创建一个列:
a
- f
我可以解决第一个和第二个限制。
ALTER TABLE TEST_TABLE ADD NEW_COLUMN CHAR(16) NOT NULL CHECK (CHAR_LENGTH(TRIM(VALUE)) = 16)
我宁愿不为第三个要求使用触发器,但是检查约束 - 有没有办法做到这一点?
答案 0 :(得分:2)
您可以使用SQL regexes吗?
CHECK (value SIMILAR TO '[a-f0-9]{16}')
这些是在Firebird 2.5中引入的,为方便起见,必须匹配整个字符串。 (也就是说,它们“锚定”在搜索空间的两端。)