gpt4 book ai didi

sql - 如何查找超过1个大写字符

转载 作者:行者123 更新时间:2023-12-03 02:43:13 26 4
gpt4 key购买 nike

我正在运行一系列 SQL 查询来查找需要清理的数据。我想做的其中之一就是寻找:

  • 连续 2 个或更多大写字母
  • 以小写字母开头
  • 空格然后一个小写字母

例如,我的名字应该是“John Doe”。我希望它找到“JOhn Doe”或“JOHN DOE”或“John doe”,但我不希望它找到“John Doe”,因为它的格式正确。

我使用的是 SQL Server 2008。

最佳答案

关键是使用区分大小写的排序规则,即 Latin1_General_BIN*。然后,您可以使用 LIKE expression 的查询像下面这样( SQL Fiddle demo ):

select *
from foo
where name like '%[A-Z][A-Z]%' collate Latin1_General_BIN --two uppercase in a row
or name like '% [a-z]%' collate Latin1_General_BIN --space then lowercase

*根据 How do I perform a case-sensitive search using LIKE? ,显然 Latin1_General_CS_AS 排序规则中存在一个“错误”,其中 [A-Z] 之类的范围无法区分大小写。解决方案是使用 Latin1_General_BIN

关于sql - 如何查找超过1个大写字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30180747/

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