sql - 如何使SQL Server 2008表的检查约束仅允许某些字符?

标签 sql sql-server t-sql sql-server-2008

我想在 SQL 2008 中为表创建一个检查约束,该约束允许使用 A-Z 字符(不区分大小写)、数字、连字符 (-)、点 (.)、空格和下划线 (_)。 下面是我现在的表情: ([company_code] 不像“%[^A-Za-z0-9_ .+]%”)。

它满足除连字符之外的所有上述要求。我怎样才能使表达式也允许连字符?

最佳答案

您可以使用ESCAPE子句:

not like  '%[^A-Za-z0-9_ .+\-]%' escape '\'

转义字符后面的字符将按字面匹配。

关于sql - 如何使SQL Server 2008表的检查约束仅允许某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1298649/

相关文章:

sql-server - SQL Where 子句逻辑

sql - 如何仅包含下一行在 12 小时内的行并进行相应排名

c# - sql语句中非值项使用参数

sql - 如何在postgresql中指定登录角色(用户)

mysql - 如何获取第一个查询的 ID 并将其用于第三个查询?

sql-server - 如何将SSIS包部署到Azure?

java - JBoss Wildfly应用程序服务器无法连接到SQL Server

sql - 引用 View SQL/Postgres 时获取默认列值

sql - 如何使用 SQL UPDATE 语句将 1 年添加到 DATETIME 列?

asp.net - 使用 SQL Server 将信号发送者用户映射到连接