问题描述
是否可以仅使用 TSQL 来检查 varchar 字段的前两个字符是否按字母顺序排列?
Is it possible, just using TSQL, to check if the first two characters of a varchar field are alphabetical?
我需要从 my_table
中只选择 my_field
以两个字母字符开头的行.我怎样才能做到这一点?
I need to select from my_table
only the rows having my_field
beginning with two alphabetical chars. How can I achieve this?
是否可以使用正则表达式?
Is it possible to use a regex?
推荐答案
你不需要使用正则表达式,LIKE
就足够了:
You don't need to use regex, LIKE
is sufficient:
WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%'
假设字母顺序"仅指拉丁字符,而不是 Unicode 中按字母顺序分类的任何字符.
Assuming that by "alphabetical" you mean only latin characters, not anything classified as alphabetical in Unicode.
注意 - 如果您的排序规则区分大小写,则将范围指定为 [a-zA-Z]
很重要.[a-z]
可以排除 A
或 Z
.[A-Z]
可以排除 a
或 z
.
Note - if your collation is case sensitive, it's important to specify the range as [a-zA-Z]
. [a-z]
may exclude A
or Z
. [A-Z]
may exclude a
or z
.
这篇关于检查字符串的起始字符是否在 T-SQL 中按字母顺序排列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!