如何为 sql 服务器中的特定字符创建约束?

How to create constraint for specific characters in sql server?

我试图为图书 ID 创建一个约束,即 BID 之后的剩余 3 个字符必须是 001 到 999。我可以做什么而不是使用 %

CREATE TABLE Book
(
    [Book ID] CHAR(6),
    [Title] VARCHAR(50) NOT NULL,
    [Genre] VARCHAR(50) NOT NULL,
    [Author] VARCHAR(50) NOT NULL,
    [Price] DECIMAL(18,2) NOT NULL,
    CONSTRAINT Book_PK PRIMARY KEY ([Book ID]),
    CONSTRAINT chk_BookID  CHECK ([Book ID] like 'BID%'),
);

SQL服务器支持LIKE中的字符类:

CONSTRAINT chk_BookID  CHECK ([Book ID] like 'BID[0-9][0-9][0-9]')

注意:我建议您将列重命名为 Book_IDBookID。列名中有空格只会使查询混乱。