SQL CHECK CONSTRAINT USING LIKE and OR



我在SQL Server 2018上不断收到以下消息。

消息4145,级别15,状态1,第9行在"OR"附近的上下文中指定的非布尔类型的表达式,其中需要条件。

CREATE TABLE tbl_owners(
ownerID     INT IDENTITY(10001,1) PRIMARY KEY,
lastName    NVARCHAR(30)  NOT NULL,
firstName   NVARCHAR(30)  NOT NULL,
address     NVARCHAR(100) NOT NULL,
postcode    NVARCHAR(20)  NOT NULL,
telno       NVARCHAR(20)  NOT NULL CHECK (telno LIKE '0%' OR '44%' OR '353%')
);

有人能告诉我我做错了什么吗。

提前感谢

这就像在布尔表达式中使用LIKE一样。你需要重复完整的表达式:

telno NVARCHAR(20) NOT NULL CHECK
(telno LIKE '0%' OR telno LIKE '44%' OR telno LIKE '353%')