sql - SQL 检查约束使用 LIKE 和 OR
问题描述
我在 SQL Server 2018 上不断收到以下消息。
消息 4145,级别 15,状态 1,第 9 行 在预期条件的上下文中指定的非布尔类型表达式,靠近“或”。
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%')
推荐阅读
- vue.js - 生产服务器上的 Vue CLI 白页
- python - 无法从 Anaconda 中新创建的 python3.6 环境启动 Spyder
- python - 仅在 x != None 时向 tkinter 菜单添加功能以运行
- eiffel - Eiffel:有没有使用 do_all 或 do_if 的方法来搜索集合中的元素,而无需编写整个功能?
- dart - 有没有办法获取 Dart 控制台项目的可执行文件?
- javascript - 没有使用 HTML 表单调用 Post 方法
- reactjs - MDBIcon 不在 React App 中显示图标
- ruby-on-rails - Rails:给定一个 Active_Relation 是否可以确定生成它的查询?
- java - java.lang.NullPointerException:尝试在空对象引用上调用接口方法
- c - 通过 pipe() 系统调用将数据传输到子进程:如何在终端中模拟按 Enter(在输入期间)?