繁体   English   中英

从键值字段sql获取信息

[英]getting info out a key-value field sql

我尝试编写一个SQL查询以从“键值”字段中获取一些信息。

  • 字段示例: A<1,?,'wfinitiation'=A<1,?,'DocID'=56581,'DocVersion'=0>>

SQLfunction是否可以仅选择DocID?

  • 示例中的结果将是:56581

我可以使用哪个功能?

谢谢

如果需要查询此列中包含的各个值,则应考虑提取信息并将其以关系格式存储。 目前,您正在违反1st Normal Form。

也就是说,您可以为此使用substringcharindex

DECLARE @key VARCHAR(20)
SET @key='DocID';

DECLARE @Search VARCHAR(30)
SET @Search='''' + @key + '''=';

WITH your_table(col)
     AS (SELECT 'A<1,?,''wfinitiation''=A<1,?,''DocID''=56581,''DocVersion''=0>>')

SELECT Substring(col, Charindex(@Search, col) + Len(@Search),
              Charindex(',',
              REPLACE(col, '>', ','), Charindex(@Search, col)) - (
              Charindex(@Search, col) + Len(@Search) )) AS value
FROM   your_table  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM