Sql 如何获取变量的值?
我有一行数据 对于我想要获取tkID值的每一行,即查询应该返回我245764,如何在SQL Server中实现这一点?另一个字符串将始终保持不变,只有tkID不同 我已经尝试了Sql 如何获取变量的值?,sql,sql-server,Sql,Sql Server,我有一行数据 对于我想要获取tkID值的每一行,即查询应该返回我245764,如何在SQL Server中实现这一点?另一个字符串将始终保持不变,只有tkID不同 我已经尝试了SELECT*FROM PERSON WHERE SUBSTRING(1,)…请帮助 Table SAMPLE DATA PERSON ID TEXT 1 <com.innovation.jsp.beans.structTaskCon
SELECT*FROM PERSON WHERE SUBSTRING(1,)…
请帮助
Table
SAMPLE DATA
PERSON
ID TEXT
1 <com.innovation.jsp.beans.structTaskContext
obj-name="tkDetails" descriptionKey="B.Tk.Undefined"
tkID="245764" abc="1"....
2 <com.innovation.jsp.beans.structTaskContext
obj-name="tkDetails" descriptionKey="B.Tk.Undefined"
tkID="245765" abc="2".....
谢谢
Aiden您可以通过组合使用
PATINDEX
、CHARINDEX
、RIGHT
和LEFT
字符串函数来实现这一点
查询
select left((right(@str, len(@str) - patindex('%tkID="%', @str) - 5)),
charindex('"',
(right(@str, len(@str) - patindex('%tkID="%', @str) - 5)), 1) - 1);
试试这个
declare @text nvarchar(1000)='<com.innovation.jsp.beans.structTaskContext
obj-name="tkDetails" descriptionKey="B.Tk.Undefined"
tkID="245765" abc="2".....'
如果tckId的长度为6
select substring(@text, charindex('tkID=', @text)+6,6)
请从表中发布一些示例数据,您所需的结果已添加示例数据
Number
245764
245765
declare @text nvarchar(1000)='<com.innovation.jsp.beans.structTaskContext
obj-name="tkDetails" descriptionKey="B.Tk.Undefined"
tkID="245765" abc="2".....'
select substring(@text, charindex('tkID=', @text)+6,charindex('abc=', @text)-(charindex('tkID=', @text)+8))
select substring(@text, charindex('tkID=', @text)+6,6)