如何使用CHECK约束来限制非数字varchar2(仅限字母)



我有一个列名称
它只能包含字符而不能包含数字
如何使用CHECK条件:

CHECK(NAME NOT LIKE '%[0-9]%')

或任何其他方法。。。

edit:使用Oracle数据库。

您没有说明您的DBMS,所以我假设PostgreSQL

CHECK(name ~ '^[^0-9]*$')

双阴性应该是标准的(但不是MySQL),因为它使用LIKE:

CHECK(NAME NOT LIKE '%[^a-zA-Z]%')

最新更新