-追加情報クエリ"黄色"に等しいUNAME値内のすべてのノード Extra.exist( 't_UserPayLog SELECT * FROM // UNAMEの[= " 黄"]')= 1
/ * SQL XMLのエントリー: - jinjazzのことで --http://blog.csdn.net/jinjazz 1、XML:認識要素は、属性、値 2、XPathの:役に立たない(Windowsのディレクトリ検索に類似のアドレス指定の言語を、 dirコマンド、当時)の壁を通り抜けた シンタックスを、シンタックスは、条件として組み合わせることができます: 「」彼は言った、「..」父を意味し、 『/』は息子を意味し、 『//』は、将来の世代を表し、 『名前』の名前で表現属性検索で示される「名前@」、検索 「[条件]コレクション」条件のセットを取るのサブセットを表し、条件とすることができる 、数値の最後の()は、最後の():値 - などのデジタル 位置()<デジタル:ブール、名前=「条件」、名前=「条件」@ ブール値を計算する際に組み込むことができる:およびまたは 3、XQueryの。:前向きのSQLServerのXQueryの主題に基づいて、XPathクエリ言語は、以下の機能が含まれている (XPathの条件)が存在し:ノードが存在するかどうかを示すブール値を返し 、クエリ(XPathの条件):の修飾ノードによって新しいXML文書を返します 値(XPathの条件、データ・タイプ):結果は、固有の条件のXPathである必要があり、指定されたスカラー値を返し <著者>ジェームズ・マクガバン</著者> ノード(XPathの条件):返回由符合条件的节点组成的一行一列的结果表 * / 宣言@dataのXML 設定@データ=」 <書店> <ブックカテゴリ= "COOKING"> <タイトルLANG = "EN">毎日イタリア語</タイトル> <著者>ジャーダ・デ・ラウレンティス</著者> <年> 2005 </年> <価格> 30.00 </価格> </書籍> <ブックカテゴリ= "CHILDREN"> <タイトルLANG = "JP" >ハリー・ポッター</タイトル> <著者> J K.ローリング</著者> <年> 2005 </年> <価格> 29.99 </価格> </書籍> <ブックカテゴリ= "WEB"> <タイトルLANG = "EN "> XQueryのキックスタート</タイトル> <著者>パーBothner </著者> <作者>クルトCagle </著者> <作者>ジェームス・リン</著者> <著者>がVaidyanathan Nagarajan </著者> <年> 2003 </年> <価格> 49.99 </価格> </ブック> <ブックカテゴリ= "WEB"> <タイトルLANG = "CN"> XML </タイトルを学びます> <作者>エリック・T.レイ</著者> <年> 2003 </年> 。。<価格> 39.95 </価格> </予約> 書店>の</子 " -テスト文、あなたは構文を理解していない場合は、上記を参照してください。規則や指示は、XPathのXQuery関数 data.exist @選択します( '//ブック[カテゴリ= "WEB" @]') --1は、文書化 SELECT @data 任意の価格レベルのノードがあるかどうか、--2を (選択の@ data.existは、 「//。価格」) --- 3、すべての書籍のノードが取得 する@ data.query(「//ブック」を選択) --4、すべてのノードがlang属性含む取得する SELECTする@ data.query(「//ブック[を1]」) --6、最初の2つのノードブックを取得します ( '// * [data.query @選択 LANG @]') --5、最初の本ノード入手 選択する@ data.query( '//ブック[位置()<= 2]') 最後に本ノード得7 I、 選択する@ data.query(「//ブック[最後の()] ') --8、取得価格>すべてのブックのノード35 (data.query @選択')//ブック[価格> 35]」 --9、すべてのノードがカテゴリ= "WEB"の本を取得する 選択しますdata.query @( '//ブック[カテゴリ= "WEB" @]') --10、すべてのノードがタイトルLANG = "EN"ブックを得る data.query(「//ブック/ @選択タイトル[@langを= "EN"] ') --11、タイトルのlang = "EN"と価格>すべてのブックのノード35取得 を選択する@ data.query(' //ブック[ ./タイトル[@ LANG = "EN"]または価格> 35] ') --12、取得LANGタイトル= "EN"と価格>最初の本(最初)のタイトル35 を選択する@ data.query(' //ブック[ ./タイトル[@lang = "EN"]と価格>35] ')。値('(書籍/タイトル)[1] '' VARCHAR(MAX)「) 12に相当する--13、 @ data.value SELECT( '/タイトル)(//ブック[[LANG = "EN"]。価格および> 35 @ ./タイトル] [1]'、 'VARCHAR(MAX)')値( '年[1]'、 'INT')年のように、 タイトルとしてTCvalue( 'タイトル[1]'、 'varchar型(最大)')、 --14タイトルLANG = "EN"を取得し、価格>最初の本(最初の1)のタイトルlangは35属性 を選択する@ data.value(「((//ブック[カテゴリ@ = "WEB"をし、 価格> 35] /タイトル)[1] / LANG @)[1] '' VARCHAR(MAX) ') --15、最初の本のタイトルを獲得する (ブック/タイトルTab.Col.valueを(SELECT' ) [1] '' VARCHAR(MAX) ')タイトルAS 書店(@ data.nodesから' 'タブ(COI)AS) --16、各書籍の最初の著者を取得する (Tab.Col.valueを選択' 'タイトルAS)著者[1] '' VARCHAR(MAX) //ブック(@ data.nodesから' ')タブ(COI)AS --17、すべての書籍のすべての情報へのアクセス SELECT タイトルTCvalue(' [1] '' VARCHAR(MAX) 'タイトルAS)、 TCvalue('年[1] '' INT ')年AS、 TCauthor1として値( '著者[1]'、 'VARCHAR(MAX)')、 TCvalue( '著者[2]'、 'VARCHAR(MAX)')author2として、 TCvalue( '価格[1]'、 'フロート')価格として、 author3としてTCvalue( '著者[3]'、 'VARCHAR(MAX)')、 TCvalue( '著者[4]'、 'VARCHAR(MAX)' )author4として T(C)としてdata.nodes( '//ブック')@から --18、获取不是日语(LANG!= "JP")且价格大于35的书的所有信息 選択 TCvalue( 'タイトルを[ 1]」、 'varchar型(最大)')タイトルとして、 TCvalue( '年[1]'、 'INT')は毎年のように、 TCvalue( 'タイトル[1]'、 'varchar型(最大)')タイトル、など TCvalue ( '価格[1]'、 'フロート')価格として、 author1としてTCvalue( '著者[1]'、 'VARCHAR(MAX)')、 TCvalue( '著者[2]'、 'VARCHAR(MAX)') author2として、 TCvalue( '著者[3]'、 'VARCHAR(MAX)')author3として、 TCvalue( '著者[4]'、 'VARCHAR(MAX)')author4として T(C)としてdata.nodes( '//ブック[./タイトル[@lang!= "JP"]と価格> 35]')@から