仅使用TSQL,能否检查一个varchar字段的前两个字符是否是字母?
我需要从my_table
中选择只有以两个字母开头的my_field
的行。如何实现这一目标?
能否使用正则表达式?
仅使用TSQL,能否检查一个varchar字段的前两个字符是否是字母?
我需要从my_table
中选择只有以两个字母开头的my_field
的行。如何实现这一目标?
能否使用正则表达式?
您不需要使用正则表达式,LIKE
已经足够了:
WHERE my_field LIKE '[a-zA-Z][a-zA-Z]%'
假设您所说的“按字母顺序排列”仅指拉丁字符,而不是Unicode中被分类为字母的任何内容。
请注意 - 如果您的排序是区分大小写的,则重要的是将范围指定为[a-zA-Z]。[a-z]可能会排除A或Z。[A-Z]可能会排除a或z。select * from my_table where my_field Like '[a-z][a-z]%'
SELECT * FROM Users WHERE mail REGEXP '^[A-Za-z]';
aAbBcCdDeE...zZ
。也许你想到的是 ASCII? - Damien_The_UnbelieverNOT column LIKE '%[^a-Z]%'
- 这意味着如果该列包含任何数量的字符、一个在集合a-Z
之外的字符和任意数量的字符,则不匹配该列。 - Damien_The_Unbeliever