2014-02-17 36 views
0

簡單的把一個XML,我只是想查詢XML列(如下圖),其中:查詢在SQL SERVER跳過布爾

  1. 我跳過他們旁邊
  2. 帶有一個星號的行

    只有在行有兩個星號有興趣的旁邊

    -falsefalse * 真* 假* 真** 假** 假 ˚F ALSE 假 假 假 假 假 假 假 假 假 假 假

+1

但是,什麼是實際的邏輯?或者你的XML文件實際上有星號? –

+0

對不起,隊友們在那裏只是指出我後面的那些行 – user3317299

回答

0

試試這個,如果沒有則工作說明你的標準

Declare @i xml='<?xml version="1.0"?>-<ArrayOfBoolean xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><boolean>false</boolean><boolean>false</boolean> 
<boolean>true</boolean><boolean>false</boolean><boolean>true</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean> 
<boolean>false</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean> 
<boolean>false</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean><boolean>false</boolean></ArrayOfBoolean>' 

;with cte as 
(select *,ROW_NUMBER()over(order by (SELECT 0))rn from 
(SELECT col1 = col1.value('.', 'bit') 

FROM 
     @i.nodes('/ArrayOfBoolean/boolean') AS tag (col1))tbl 
) 

select * from cte where rn>(select max(rn)+1 from cte where col1=1)