检查字符串的起始字符在T-SQL中是否按字母顺序排列

dav*_*ooh 23 regex t-sql sql-server

是否可以使用TSQL检查varchar字段的前两个字符是否按字母顺序排列?

我需要从my_table只有my_field两个字母字符开头的行中进行选择.我怎样才能做到这一点?

是否可以使用正则表达式?

Dam*_*ver 56

你不需要使用正则表达式LIKE就足够了:

WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%'
Run Code Online (Sandbox Code Playgroud)

假设"按字母顺序"表示只有拉丁字符,而不是Unicode中按字母顺序排列的任何字符.

注意 - 如果您的排序规则区分大小写,则将范围指定为[a-zA-Z].[a-z]可以排除AZ.[A-Z]可以排除az.

  • @MohamedSakherSawan-最好将其作为一个单独的问题进行搜索/询问,但好的,我会回答。如果要确保一列仅包含字母字符,则可以使用双负搜索条件:`NOT column LIKE'%[^ aZ]%'`-表示如果包含该列,则**不匹配该列任意数量的字符,在集合aZ之外的*字符以及任意数量的字符。 (2认同)