验证 sql 服务器上的 varchar 列

Validate a varchar column on sql server

我想创建一个查询来验证一个列,以便它只允许三种不同的条目类型,即 "hello" "hi" 或 "hey" 对于 table 称为问候语,并阻止输入任何其他文本。如果这种方法不可行,是否有办法做到这一点,以便如果输入 "good day" 之类的任何其他文本,它就会变成 "error"

您在寻找 check constraint 吗?

DROP TABLE IF EXISTS dbo.Whosebug;
GO

CREATE TABLE dbo.Whosebug
(
    [value] NVARCHAR(128) CONSTRAINT DF_Whosebug_value CHECK ([value] IN ('hello', 'hi', 'hey'))
);

GO

INSERT INTO Whosebug
VALUES ('hi');

GO

INSERT INTO Whosebug
VALUES ('bye');