You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL Server中提取字符串最右侧的连续两个字母?

SQL Server提取字符串最右侧连续两个字母

针对你需要从字母数字组合字段中提取最右侧连续两个字母(且这两个字母后仅含数字)的需求,可以通过SQL Server的字符串函数组合实现:

实现代码

SELECT 
    original_str,
    REVERSE(SUBSTRING(REVERSE(original_str), PATINDEX('%[^0-9]%', REVERSE(original_str)), 2)) AS target_chars
FROM (
    -- 示例数据
    VALUES 
        ('RT34-92837DF82982'),
        ('DRE3-9292928373DO')
) AS test_data(original_str)

结果说明

执行上述SQL后,会得到如下结果:

original_strtarget_chars
RT34-92837DF82982DF
DRE3-9292928373DODO

逻辑解释

  1. REVERSE(original_str):将原字符串反转,让原本末尾的数字移到前端,目标字母则位于数字之后(反转后的字符串顺序)。
  2. PATINDEX('%[^0-9]%', REVERSE(original_str)):定位反转后字符串中第一个非数字字符的位置,也就是目标字母在反转字符串中的起始位置。
  3. SUBSTRING(..., 定位位置, 2):从该起始位置截取2个字符,得到反转后的目标字母(比如原字符串的DF反转后是FD,截取后为FD)。
  4. 外层REVERSE:将截取后的字符再次反转,恢复为原顺序的目标字母。

这个方案完全适配你描述的场景——目标字母后仅存在数字,若后续有其他特殊场景,可根据实际调整函数参数。

内容的提问来源于stack exchange,提问作者Padawan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:55:08