Sql server 检查字符串的起始字符在T-SQL中是否按字母顺序排列
是否可以仅使用TSQL检查varchar字段的前两个字符是否按字母顺序排列 我需要从Sql server 检查字符串的起始字符在T-SQL中是否按字母顺序排列,sql-server,regex,tsql,Sql Server,Regex,Tsql,是否可以仅使用TSQL检查varchar字段的前两个字符是否按字母顺序排列 我需要从my_表中选择只有my_字段以两个字母字符开头的行。我怎样才能做到这一点 可以使用正则表达式吗?您不需要使用正则表达式,如就足够了: select * from my_table where my_field Like '[a-z][a-z]%' WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%' 假设“字母顺序”仅指拉丁字符,而不是Unicode中的字母顺序 注意-如果排序规则区
my_表
中选择只有my_字段
以两个字母字符开头的行。我怎样才能做到这一点
可以使用正则表达式吗?您不需要使用正则表达式,
如
就足够了:
select * from my_table where my_field Like '[a-z][a-z]%'
WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%'
假设“字母顺序”仅指拉丁字符,而不是Unicode中的字母顺序
注意-如果排序规则区分大小写,请将范围指定为
[a-zA-Z]
<代码>[a-z]可以排除a
或z
<代码>[A-Z]可能排除A
或Z
@Richardakacyberkiwi-不正确。在SQL Server中,对于大多数排序规则,字母表的顺序是aAbBcCdDeE…zZ
。也许你在想ASCII?你是对的。TBH,我从来没有机会使用区分大小写的排序。这只是第一个和第二个字母,我如何才能对所有字符执行此操作?@MohamedSakherSawan-最好作为单独的问题搜索/询问,但好的,我会回答。如果要确保列只包含字母字符,则双负搜索条件将起作用:不是像“[^a-Z]%”这样的列
——这表示如果列包含任意数量的字符,则与该列不匹配,即集合a-Z
之外的字符,和任意数量的字符。我很抱歉@Damien_不信者,我没有读这个问题,thanx很多,我使用了当前的模式:不是像“%$a-zA-Z]”这样的列