验证 sql server 上的 varchar 列

fer*_*gus -1 t-sql sql-server validation varchar check-constraints

我想创建一个查询来验证一列,以便它只允许三种不同的条目类型,即名为“问候”的表的“hello”、“hi”或“hey”,并防止输入任何其他文本。如果此方法不可行,是否有办法使其在输入任何其他文本(如“good day”)时变为“错误”

got*_*tqn 5

您在寻找检查约束吗?

DROP TABLE IF EXISTS dbo.StackOverflow;
GO

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

GO

INSERT INTO StackOverflow
VALUES ('hi');

GO

INSERT INTO StackOverflow
VALUES ('bye');
Run Code Online (Sandbox Code Playgroud)