2009-01-29 20 views
0

想象一下如下表:如何查找行的SQL表,其中XPATH

------------------------------------------------------------- 
    ID | XML 
------------------------------------------------------------- 
    1 | <Form><object ID="1" /></Form> 
    2 | <Form><object ID="2" /></Form> 
    3 | <Form><object ID="2" /></Form> 
------------------------------------------------------------- 

我需要一些SQL尋找到ID和表格/對象@ ID是不一樣的

我」的所有行使用SQL2000。 ID是int字段,XML是一個文本字段。

此外,上表中的數據被簡化,並且表單標籤內還會有其他不同的元素。

我該怎麼做?我可以這樣做嗎?

+0

SQL2000?你的意思是Microsoft SQL Server 2000嗎? – phihag 2009-01-29 16:06:00

+0

是的,我正在使用MSSQL2000 – 2009-01-29 16:06:51

回答

2

我不認爲這是一個很好的方式在SQL2000做到這一點。 使用SQL2005,您可以使用xml數據類型來提取值。

我的建議是沿

SELECT * 
FROM TABLE t 
WHERE CHARINDEX('ID="' + CAST(t.ID AS VARCHAR) + '"',t.XML) = 0 

線但它的骯髒和緩慢的。

0

你可以嘗試包含在你的select語句中,但是你需要確保你的表是全文索引的。順便說

尼斯字段名...