[英]getting info out a key-value field sql
我尝试编写一个SQL查询以从“键值”字段中获取一些信息。
A<1,?,'wfinitiation'=A<1,?,'DocID'=56581,'DocVersion'=0>>
SQLfunction是否可以仅选择DocID?
我可以使用哪个功能?
谢谢
如果需要查询此列中包含的各个值,则应考虑提取信息并将其以关系格式存储。 目前,您正在违反1st Normal Form。
也就是说,您可以为此使用substring
和charindex
。
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.