Check if starting characters of a string are alphabetical in T-SQL(检查字符串的起始字符是否在 T-SQL 中按字母顺序排列)
问题描述
是否可以仅使用 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 中按字母顺序排列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:检查字符串的起始字符是否在 T-SQL 中按字母顺序
基础教程推荐
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 带更新的 sqlite CTE 2022-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
