Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 仅允许某些字符的检查约束_Sql_Firebird_Firebird2.5 - Fatal编程技术网

Sql 仅允许某些字符的检查约束

Sql 仅允许某些字符的检查约束,sql,firebird,firebird2.5,Sql,Firebird,Firebird2.5,我试图在Firebird(2.5)中创建一个专栏,它: 不能为空 必须正好是16个字符 只能包含数字和小写字母a-f 我可以解决第一个和第二个限制 ALTER TABLE TEST_TABLE ADD NEW_COLUMN CHAR(16) NOT NULL CHECK (CHAR_LENGTH(TRIM(VALUE)) = 16) 我不希望在第三个需求中使用触发器,但需要一个检查约束—有什么方法可以做到这一点吗?您可以使用吗 这些是Firebird 2.5中引入的,为了方便起见,必须匹配

我试图在Firebird(2.5)中创建一个专栏,它:

  • 不能为空
  • 必须正好是16个字符
  • 只能包含数字和小写字母
    a
    -
    f
我可以解决第一个和第二个限制

ALTER TABLE TEST_TABLE ADD NEW_COLUMN CHAR(16) NOT NULL CHECK (CHAR_LENGTH(TRIM(VALUE)) = 16)
我不希望在第三个需求中使用触发器,但需要一个检查约束—有什么方法可以做到这一点吗?

您可以使用吗


这些是Firebird 2.5中引入的,为了方便起见,必须匹配整个字符串。(也就是说,它们“锚定”在搜索空间的两端。)

工作正常,我只需将
a-z
更改为
a-f
。我不知道这个事实,它已经在2.5中引入,一直认为它是firebird 3的一个新特性。
CHECK (value SIMILAR TO '[a-f0-9]{16}')