gpt4 book ai didi

sql-server - 在 SQL Server 中使用 SELECT 仅获取包含字母数字数据(和某些标点符号)的字段

转载 作者:行者123 更新时间:2023-12-02 14:46:58 27 4
gpt4 key购买 nike

我正在尝试过滤一些 SQL Server 数据并需要满足以下条件的结果:

  • 字段包含字母数字字符,不区分大小写
  • 该字段包含特定标点符号(撇号和连字符)
  • 字段中没有空格

有没有一种有效的方法可以在 SQL Server 中使用 CHAR 来做到这一点,或者有人有更好的解决方案吗?

最佳答案

这使用双重否定来仅过滤到所需的字符范围

任何超出所需范围的字符都会从 LIKE 中得出 true。如果字符串仅包含所需范围内的字符,则 LIKE 给出 false。然后另一个不是

WHERE
SomeCol NOT LIKE '%[^a-z0-9-'']%'

注意:我在这里使用单引号

默认情况下,SQL Server 不区分大小写。如果需要,添加 COLLATE 子句

   SomeCol COLLATE Latin1_General_CI_AS NOT LIKE '%[^a-z0-9-']%'

或更改范围

   SomeCol NOT LIKE '%[^a-zA-Z0-9-']%'

或者,如果您想包含 ä = a

   SomeCol COLLATE Latin1_General_CI_AI NOT LIKE '%[^a-z0-9-']%'

关于sql-server - 在 SQL Server 中使用 SELECT 仅获取包含字母数字数据(和某些标点符号)的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8744173/

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