Sybase數據庫使用總結
1、對xml類型的字段作為查詢條件
XmlValue字段中存儲的內容
[html]
<ContentInfo><CFBundleVersion>1.0</CFBundleVersion><CFBundleIdentifier>com.ciat.mobile.HKMobileEGov</CFBundleIdentifier><CFBundleName>Zak</CFBundleName><CFBundleDisplayName>Zak</CFBundleDisplayName></ContentInfo>
查詢的存儲過程
[sql]
ALTER PROCEDURE "DBA"."xml_select_condition"()
BEGIN www.2cto.com
SELECT XmlID,XmlValue FROM Justsy_Xml WHERE (SELECT VER FROM OPENXML(XmlValue,'/ContentInfo/CFBundleVersion') WITH ("VER" LONG VARCHAR '.'))='1.10' ;
END
2、XMLATTRIBUTES為XML元素添加屬性,如果不取別名就使用填寫的作為屬性名
[sql]
SELECT XMLELEMENT(NAME Device,XMLATTRIBUTES(DeviceID AS D,ContactName)) FROM Device WHERE DeviceID > 400
結果顯示:
[sql]
<Device D="410" ContactName="OPOAAA"/>
3、XMLCONCAT對兩個XML進行連接
[sql]
SELECT XMLCONCAT(XMLELEMENT(NAME DeviceID,DeviceID),XMLELEMENT(NAME ContactName,ContactName)) AS DeviceXML FROM Device ;
結果: www.2cto.com
[sql]
<DeviceID>427</DeviceID><ContactName>ww</ContactName>
4、XMLFOREST( element-content-expression [ AS element-name ],... )element-content-expression 一個字符串。對每個所指定的 element-content-expression 參數生成一個元素。element-content-expression 值將成為元素的內容。
[sql]
SELECT DeviceID,XMLELEMENT(NAME Device,XMLFOREST(PhoneNum AS phoneNum,ContactName AS contactName)) FROM Device WHERE DeviceID > 400 ;
結果:
[sql]
<Device><phoneNum>13022362323</phoneNum><contactName>OPOAAA</contactName></Device>
作者 akwolf