0

有谁知道是否有办法只输入字母而不输入数字?我想过这样的事情

CREATE DOMAIN countryDomain AS VARCHAR(100)
    CHECK( VALUE ??? );

接着 ???将会是 NO INTEGER 之类的东西。有人对此有任何想法吗?

4

2 回答 2

2

正则表达式将是一个简单的选择:

CREATE DOMAIN countryDomain AS VARCHAR(100)
CHECK(VALUE ~ E'^[a-zA-z]*$')

调整正则表达式以匹配您正在寻找的精确字符集。

于 2013-06-17T19:17:39.490 回答
2

要仅排除数字,您可能希望以另一种方式解决此问题:

CREATE DOMAIN country_domain AS text
CHECK(VALUE ~ '^[^0-9]*$');

或者为此目的使用正则表达式类简写转义: \D

...
CHECK(VALUE ~ '^\D*$');
于 2013-06-17T23:25:54.720 回答