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

SQL Server 2008从长字符串中提取指定URL的查询语法咨询

SQL Server 2008 提取http://testurl/前缀URL的查询方案

由于SQL Server 2008不支持原生JSON解析、也无STRING_SPLIT等高版本内置函数,可通过基础字符串函数实现需求,以下是可行语法:

假设存储长JSON字符串的列名为json_content,目标表名为your_table,查询语句如下:

SELECT 
    json_content,
    -- 新增临时列存储提取的URL
    CASE 
        WHEN PATINDEX('%http://testurl/%', json_content) = 0 THEN NULL
        ELSE SUBSTRING(
            json_content,
            PATINDEX('%http://testurl/%', json_content),
            PATINDEX('%[ ",]%', SUBSTRING(json_content, PATINDEX('%http://testurl/%', json_content), LEN(json_content))) - 1
        )
    END AS extracted_testurl
FROM your_table

逻辑说明

  • 第一步通过PATINDEX('%http://testurl/%', json_content)定位目标URL的起始索引,未匹配到则返回NULL
  • 第二步从起始索引位置向后截取剩余字符串,匹配第一个分隔符(空格、双引号、逗号,可根据实际业务数据补充分隔符规则)的位置
  • 第三步通过SUBSTRING精准截取出完整的目标URL

若你实际数据中URL后缀的分隔符和示例不一致,只需修改第二个PATINDEX里的[ ",]规则即可,比如新增分号就改成[ ",;]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:54:02