初學 sql2005中的xquery

2021-06-15 22:14:06 字數 1949 閱讀 6102

今天小試了一下sql2005中操作xml的語句:

如表divname中有列:id(int型),stylecontent(xml弄),content內容格式如下:

rows

>

/p>

<

head

>

/p>

<

div 

id="title"

class

="title"

>

/p>

<

span 

class

="lower"

>

span

>

/p>

div>

/p>

<

ul class

="inn"

>

/p>

/p>

ul>

/p>

head

>

/p>

<

item 

id="1"

num="1"

condition

="n_imgpath like '%.%'"

orderby

="n_adddate"

>

/p>

<

content

>

/p>

<

li class

="img"

>

/p>

<

img 

width

="100"

height

="75"

src=""

/>

/p>

li>

/p>

content

>

/p>

item

>

/p>

<

item 

id="2"

num="11"

condition

="1=1"

orderby

="n_adddate"

>

/p>

<

content

>

/p>

<

li>

li>

/p>

content

>

/p>

item

>

/p>

rows

>

head裡面的內容是整個網頁的內容,item是head中中的內容,則檢索語句為:

select

convert

(nvarchar

(4000

),a.stylecontent.query(

'/rows/head

')) 

asheader,

convert

(nvarchar

(4000

),t2.itemer.query(

'./content

')) 

asitmer,t2.itemer.value(

'(./@num)[1]',

'int') 

asrows,t2.itemer.value(

'(./@condition)[1]',

'nvarchar(100)') 

ascondition, t2.itemer.value(

'(./@orderby)[1]',

'nvarchar(100)') 

asorderby 

from

divname a 

cross

'rows/item') 

ast2(itemer) 

where

styleid=2

檢索結果則為兩行itemer的內容,

SQL2005中行轉列

sql2005中有函式可以直接將行轉列,這樣行轉列就好做多了。但是數值列和文字列稍有不同。1 文字列示例 create table tb 姓名 varchar 10 課程 varchar 10 分數 int insert into tb values 張三 語文 74 insert into tb ...

SQL2005乾淨解除安裝

昨天解除安裝安裝sql2005,安裝顯示成功之後可是就是沒有進入sql的檔案,只有配置工具,於是就解除安裝了,這下可好,解除安裝沒卸乾淨,又重新安裝,這次不僅顯示上一次已經安裝的檔案已經安裝安裝完成,還顯示只有配置工具,反覆弄了好幾次還是不成功,今天起來又開始我的安裝歷程,我先決定把該解除安裝的解除...

SQL2005 索引設計

1 評估索引本身的占用空間,當索引相對於其資料本身過大可能會無明顯作用。這種情況體現在 表很小,索引列過多,索引碎片過多。當索引在select中不起作用時,你還必須在insert和update delete這些操作中去維護這些不起作用的資料。2 in語句不一定不能使用索引,where id in 1...