¹ØÓÚSQLServer2005µÄѧϰ±Ê¼Ç——XMLµÄ´¦Àí
ÔÚ
SQLServer2005
ÖжÔ
XML
µÄ´¦Àí¹¦ÄÜÏÔÈ»ÔöÇ¿Á˺ܶ࣬ÌṩÁË
query(),value(),exist(),modify(),nodes()
µÈº¯Êý¡£
¹ØÓÚ
xml
£¬ÄÑÒÔÀí½âµÄ²»ÊÇ
SQLServer
ÌṩµÄº¯Êý£¬¶øÊǶÔ
xml
±¾ÉíµÄÀí½â£¬¿´Ëƺܼòµ¥µÄÎļþ¸ñʽ£¬´¦ÀíÆðÀ´È´ÊǷdz£À§Äѵġ£±¾ÎÄÖ»Êdzõ̽һ϶øÒÑ¡£
Ïê¼û
SQLServer
Áª»ú°ïÖú£º
Ö÷Ìâ
˵Ã÷
query()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ¶Ô
XML
ʵÀý½øÐвéѯ¡£
value()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ´Ó
XML
ʵÀý¼ìË÷
SQL
ÀàÐ͵ÄÖµ¡£
exist()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚÈ·¶¨²éѯÊÇ·ñ·µ»Ø·Ç¿Õ½á¹û¡£
modify()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚÖ¸¶¨
XML DML
Óï¾äÒÔÖ´ÐиüС£
nodes()
·½·¨£¨
xml
Êý¾ÝÀàÐÍ£©
´Ë·½·¨ÓÃÓÚ½«
XML
²ð·Ö³É¶àÐÐÒÔ½«
XML
ÎĵµµÄ×é³É²¿·Ö´«²¥µ½ÐÐ
¼¯ÖС£
Ïл°ÉÙ˵£¬Ê×ÏÈ´´½¨Ò»¸ö°üº¬
xml
ÀàÐ͵ÄÊý¾Ý±í£¬Æä´Î´´½¨Ò»¸ö
xml
Îļþ£¬ÔÚ·þÎñ¶Ë°Ñ
xml
ÎļþÄÚÈݼÓÔØ¸ÃÊý¾Ý±íÖС£
CREATE
TABLE VisioXML
(
ID
INT,
Doc
XML
);
GO
´´½¨Ò»¸ö
ÃûΪ
xxx.xml
µÄÎļþ£¬ÄÚÈÝÈçÏÂ
/*
<ROOT>
<ROW>
<ID>1</ID>
<NAME SEX="MALE">WBQ</NAME>
</ROW>
<ROW>
<ID>2</ID>
<NAME SEX="FEMALE">CZH</NAME>
</ROW>
</ROOT>
*/
INSERT
INTO VisioXML(ID,Doc)
SELECT
4,* from OPENROWSET(BULK
'e:\xxx.xml',SINGLE_BLOB) AS x;
--
ÒÔÏÂΪ
value()
ºÍ
query()
µÄÓ÷¨
--SELECT
* from VisioXML WHERE ID=4
SELECT
Doc.value('(/ROOT/ROW[1]/ID/text())[1]','int') RootRowID1,
--
µÚÒ»ÐÐ
ID
µÄÖµ£¬²¢ÇÒת»»Îª
int
ÀàÐÍ
Doc.value('(/ROOT/ROW[2]/ID/text())[1]','int') RootRowID2,
--
µÚ¶þÐÐ
ID
µÄÖµ£¬²¢ÇÒת»»Îª
int
ÀàÐÍ
Doc.value('(/ROOT/ROW[1]/NAME/text())[1]','varchar(20)')
RootRowNAME1,
--
µÚÒ»ÐÐ
NAME
µÄÖµ£¬²¢ÇÒת»»Îª
VARCHAR
ÀàÐÍ
Doc.value('(/ROOT/ROW[1]/NAME/@SEX)[1]','varchar(20)')
RootRowNAME1SEX, --
µÚÒ»ÐÐ
NAME
ÖÐ
SEX
ÊôÐ
Ïà¹ØÎĵµ£º
ÔÎijö´¦£ºhttp://www.cnblogs.com/luoht/archive/2010/03/01/1676049.html
ÓÃINд³öÀ´µÄSQLµÄÓŵãÊDZȽÏÈÝÒ×д¼°ÇåÎúÒ×¶®£¬Õâ±È½ÏÊʺÏÏÖ´úÈí¼þ¿ª·¢µÄ·ç¸ñ¡£
¡¡¡¡µ«ÊÇÓÃINµÄSQLÐÔÄÜ×ÜÊDZȽϵ͵쬴ÓSQLÖ´ÐеIJ½ÖèÀ´·ÖÎöÓÃINµÄSQLÓë²»ÓÃINµÄSQLÓÐÒÔÏÂÇø±ð£º
¡¡¡¡SQLÊÔͼ½«Æäת»»³É¶à¸ö±íµÄÁ¬½Ó£¬Èç¹ûת»»²»³É¹¦ÔòÏÈÖ´ÐÐ ......
1.¾ø¶ÔÖµ
S:select abs(-1) value
O:select abs(-1) value from dual
2.È¡Õû(´ó)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.È¡Õû£¨Ð¡£©
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.È¡Õû£¨½ØÈ¡£©
S:select cast(-1.002 as int) value
O:selec ......
×òÌìÏÂÎç¿ìϰàµÄʱºò£¬ÎÞÒâÖÐÌýµ½¹«Ë¾Á½Î»Í¬ÊÂÔÚ̽ÌÖÅúÁ¿ÏòÊý¾Ý¿â²åÈëÊý¾ÝµÄÐÔÄÜÓÅ»¯ÎÊÌ⣬¶ÙʱÀ´ÁËÐËȤ£¬°Ñ×Ô¼ºµÄÏë·¨ÏòÁ½Î»Í¬ÊÂ˵ÁËһϣ¬ÓÚÊÇÓÐÁ˱¾ÎÄ¡£
¹«Ë¾¼¼Êõ±³¾°£ºÊý¾Ý¿â·ÃÎÊÀࣨxxx.DataBase.Dll£©µ÷Óô洢¹ý³ÌʵÏÖÊý¾Ý¿âµÄ·ÃÎÊ¡£
¼¼Êõ·½°¸Ò»£º
ѹËõʱ¼äϳÌÐòԱд³öµÄµÚÒ»¸ö°æ±¾£¬½ö½öΪÁËÍê³ÉÈÎÎñ£¬Ã»ÓÐ´Ó³Ì ......