用于检查两个大写字母后跟数值的 SQL 约束
我有以下 sql 检查,它接受的值应该是两个大写字母后跟 3 个数字值。
CREATE TABLE Project(
projectID NCHAR(5) NOT NULL PRIMARY KEY,
CHECK(projectID LIKE '[A-Z][A-Z][0-9][0-9][0-9]'),
projectName NVARCHAR(20) NOT NULL UNIQUE,
budget MONEY NOT NULL)
如何才能使其只接受大写字母后跟 3 个数字作为项目 ID? 例如。 它应该拒绝像“au123”这样的值并接受像“AU123”这样的值。
i have the following sql check and it accepts values that are supposed to be two uppercase letters followed by 3 numeric values.
CREATE TABLE Project(
projectID NCHAR(5) NOT NULL PRIMARY KEY,
CHECK(projectID LIKE '[A-Z][A-Z][0-9][0-9][0-9]'),
projectName NVARCHAR(20) NOT NULL UNIQUE,
budget MONEY NOT NULL)
how do you make it so that it will only accept uppercase letters followed by 3 numbers for the projectID? ex.
it should reject values like 'au123' and accept values like 'AU123'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要在 CHECK 约束中声明区分大小写的排序规则:
You need to declare a case-sensitive collation in your CHECK constraint:
甲骨文10g:
Oracle 10g: