3

我有一列 NAME
它必须只包含字符而不是数字
如何使用 CHECK 条件:

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

或任何其他方法...

编辑:使用 Oracle 数据库。

4

2 回答 2

4

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

CHECK(name ~ '^[^0-9]*$')
于 2012-01-06T10:48:08.690 回答
3

双重否定应该是标准的(虽然不是 MySQL),因为它使用 LIKE:

CHECK(NAME NOT LIKE '%[^a-zA-Z]%')
于 2012-01-06T11:01:56.760 回答