gpt4 book ai didi

sql - 如何创建一个简洁的 SQL 'Check Constraint',禁止所有字符串字段使用某些字符?

转载 作者:行者123 更新时间:2023-12-02 17:47:25 25 4
gpt4 key购买 nike

我有一个 SQL (SQL Server Express 2008) 表,其中包含一些 VARCHAR 字段。

我想创建一个 Check Constraint 以确保所有 VARCHAR 值都不包含某些字符。

示例:(不允许在 FirstName 和 LastName 列中使用 <>? 字符)

(NOT [FirstName] LIKE '%<%' 
AND NOT [FirstName] LIKE '%>%'
AND NOT [FirstName] LIKE '%?%')
AND
(NOT [LastName] LIKE '%<%'
AND NOT [LastName] LIKE '%>%'
AND NOT [LastName] LIKE '%?%')

上面的 SQL 语法工作正常,但如果有简写的方法来做同样的事情就更好了。 请注意示例中的冗余。如果我想添加更多列和/或无效字符,这会很麻烦

如果我们能做这样的事情就好了:

NOT FirstName,LastName LIKE IN ('<','>','?')

我可以在 Check Constraint 表达式中做这样的事情吗?

最佳答案

你可以使用

NOT ([FirstName]  LIKE '%[<>?]%' OR [LastName]  LIKE '%[<>?]%')

关于sql - 如何创建一个简洁的 SQL 'Check Constraint',禁止所有字符串字段使用某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com