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

如何在Microsoft SQL Server 2016中提取字段末尾ID(去除引号间内容)

在SQL Server 2016中提取末尾项目ID的方法

针对你的场景——字符串列前可能带有0个或多个双引号包裹的注释,仅需提取末尾的项目ID,可以通过反转字符串+字符定位的方式实现,直接用SQL语句就能搞定:

SELECT 
    CASE 
        WHEN CHARINDEX('"', REVERSE(Item)) > 0 THEN RIGHT(Item, CHARINDEX('"', REVERSE(Item)) - 1)
        ELSE Item
    END AS Item,
    Qty
FROM 你的表名;

逻辑说明

  1. 先通过REVERSE(Item)把字符串反转,原字符串最后一个双引号会变成反转后的第一个双引号
  2. 用CHARINDEX('"', REVERSE(Item))定位这个双引号在反转字符串中的位置
  3. 如果存在双引号,就用RIGHT(Item, ...)从原字符串末尾截取掉双引号及之前的内容(减1是为了排除双引号本身)
  4. 如果没有双引号(即字符串本身就是ID),直接返回原Item值

拿你给的示例测试:

  • 输入"There can be any number of comment""Like this"144,反转后找到第一个双引号的位置是4,RIGHT(Item, 4-1)就会提取出末尾的144
  • 输入2d3eu时,因为找不到双引号,直接返回原字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:22:39