gpt4 book ai didi

SQL 服务器 : Check Upper Case or Lower Case after certain Character

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

我有像这样的数据'约翰是我的名字;拉姆是我的名字;亚当是我的名字'

我的规则是 ; 之后的每个首字母都应该是大写字母。

如何选择所有满足规则的值?

最佳答案

其他答案展示了如何将行转换为与您的模式匹配的内容。

如果您只想选择与您描述的模式相匹配的行,您可以使用patindex()like区分大小写的排序规则(或使用 collat​​e 应用一个)。

这假设除了分号后面的每个字母都必须是大写字母这一规则之外,第一个字母也应该是大写字母。如果不是这种情况,只需删除 where 中的第一个子句。

select *
from t
where patindex('[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%', val collate latin1_general_cs_as) = 1
and patindex('%; [^ABCDEFGHIJKLMNOPQRSTUVWXYZ]%', val collate latin1_general_cs_as) = 0

select *
from t
where val collate latin1_general_cs_as like '[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'
and val collate latin1_general_cs_as not like '%; [^ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'

测试设置:

create table t (id int not null identity(1,1),val varchar(256))
insert into t values
('John is my name; Ram is my name; Adam is my name')
,('john is my name; ram is my name; adam is my name')

rextester 演示:http://rextester.com/DBGIS10645

以上两个都返回:

+----+--------------------------------------------------+
| id | val |
+----+--------------------------------------------------+
| 1 | John is my name; Ram is my name; Adam is my name |
+----+--------------------------------------------------+

关于SQL 服务器 : Check Upper Case or Lower Case after certain Character,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44353157/

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