ÔÚSQL ServerÖÐÓÃXQuery·Ö½âXMLÊý¾Ý
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹ØÏµ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡±¾ÎÄÌÖÂÛSQL Server 2005µÄй¦ÄÜ£¬ËüÔÊÐíÄ㽫XMLÊý¾Ý·Ö½âµ½¹ØÏµ¸ñʽÖУ¬¶ø²»±ØºÄÓÃÌ«¶àÄÚ´æ¡£
¡¡¡¡ÔÚ¾ÙÀý˵Ã÷ÈçºÎ·Ö½âÉÏһƪÎÄÕÂÖеÄÊý¾Ýʱ£¬ÎÒÃÇÊ×ÏÈÁ˽âÒ»ÏÂXQueryºÍËüÔÚSQL Server 2005ÖÐΪ¿ª·¢ÕßÌṩµÄ¹¦ÄÜ¡£
¡¡¡¡XQuery½éÉÜ
¡¡¡¡XQuery£¬Ò²³Æ×÷XML Query£¬ÊÇÒ»ÖÖ²éѯXMLÊý¾ÝµÄÓïÑÔ£¬ÔÊÐíÄãÌáÈ¡ËùÐèµÄ½ÚµãºÍÔªËØ¡£ËüÓÉW3C¶¨Ò壬¿ÉÓÃÓÚ½ñÌìµÄ´ó¶àÊýÖ÷Á÷Êý¾Ý¿âÒýÇæÖУ¬ÈçOracle¡¢DB2ºÍSQL Server¡£
¡¡¡¡SQL Server 2005 XQueryº¯Êý
¡¡¡¡ÏÂÃæµÄËĸöº¯ÊýÊÇSQL Server 2005ÖеÄXQueryº¯Êý¡£(×¢Ò⣬XML¡¢XQueryÓï¾äºÍÏÂÃæµÄº¯Êý¶¼Çø·Ö´óСд¡£ÀýÈ磬SQL±àÒëÆ÷½ÓÊÜXMLÊý¾ÝÖеÄ.exist£¬µ«¾Ü¾ø.EXIST»ò.Exist¡£)
¡¡¡¡xml.exist
¡¡¡¡Õâ¸ö·½·¨¸ù¾ÝÒ»¸öXML½ÚµãÉϵÄËÑË÷±í´ïʽ·µ»ØÒ»¸ö²¼¶ûÖµ¡£ÀýÈ磬ÁбíAÖÐXML´úÂëÆ¬¶ÎÖеÄÓï¾ä½«·µ»Ø1(Õæ)£º
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡Õâ¸öÓï¾ä·µ»Ø0(¼Ù)£º
¡¡¡¡SELECT @x. exist ('/christmaslist/zach')
¡¡¡¡ÓÉÓÚ“Socks”Ò»´Ê±»·âÌ×£¬Õâ¸öÓï¾ä½«·µ»Ø0(¼Ù)¡£
¡¡¡¡SELECT @x.exist('/christmaslist/person[@gift = "socks"]')
¡¡¡¡xml.value
¡¡¡¡Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQueryÓï¾ä²¢·µ»ØÒ»¸öµ¥¶ÀÖµ¡£Ê¹ÓÃÁбíAÖÐͬÑùµÄXML´úÂëÆ¬¶Î£¬²»¿ÉÒÔʹÓÃVALUEº¯ÊýÉú³É“betty”Öµ£¬ÈçÏÂËùʾ£º
¡¡¡¡SELECT @x.value('/christmaslist[1]/person[1]/@name', 'VARCHAR(20)')
¡¡¡¡¶øXQueryÉú³É“zach”Öµ¡£
¡¡¡¡SELECT @x.value('/christmaslist[1]/person[2]/@name', 'VARCHAR(20)')
¡¡¡¡xml.query
¡¡¡¡Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQuery²¢·µ»ØÒ»¸öXMLÊý¾ÝÀàÐ͵ÄʵÀý¡£¿ÉÒÔ°´ÐèÒª½«ÕâЩ²éѯ¼òµ¥»ò¸´ÔÓ»¯£¬ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£º
¡¡¡¡SELECT @x.query('/christmaslist/person')
¡¡¡¡Ëü·µ»ØXMLÎļþ£º
<person name="betty" gift="camera" />
<person name="zach" gift="elmo doll" />
<person name="brad" gift="socks" />
xml.nodes
¡¡¡¡ÔÚÄãÐèÒª½«Ò»¸öXMLÊý¾ÝÀàÐͱäÁ¿ÖеÄÊý¾Ý·Ö½âµ½¹ØÏµÊý¾ÝÖÐʱ£¬Õâ¸ö·½·¨Ê®·ÖÓÐÓá£Õâ¸ö·½·¨½ÓÊÜÒ»¸öXQueryÓï¾ä×÷Ϊ²ÎÊý£¬²¢·µ»ØÒ»¸ö°üº¬XML±äÁ¿Âß¼±êÁ¿Êý¾ÝµÄÐм¯¡£ÁбíBÖеIJéѯÀûÓÃÉÏÃæ¶¨ÒåµÄXML±äÁ¿£¬²¢½«Êý¾Ý·Ö½
Ïà¹ØÎĵµ£º
Èç¹ûSQL Server³ÌÐòÔ±Ï뽫±í´ïʽ´ÓÒ»ÖÖ»»ÎªÁíÒ»ÖÖ£¬Ëû¿ÉÒÔ´ÓSQL Server 7ºÍ2000ÖÐ×Ô´øµÄÁ½ÖÖ¹¦ÄÜÖÐ×ö³öÑ¡Ôñ¡£ÔÚ´æ´¢¹ý³Ì»òÆäËûÇé¿öÏ£¬ÎÒÃdz£³£ÐèÒª½«Êý¾Ý´ÓdatetimeÐÍת»¯³ÉvarcharÐÍ£»CONVERTºÍCAST¾Í¿ÉÒÔÓÃÓÚÕâÖÖÇé¿ö¡£
¡¡¡¡ÓÉÓÚSQL ServerÌṩÁ½ÖÖ¹¦ÄÜ£¬Òò´ËÓ¦¸ÃÑ¡ÔñÄÄÖÖ¹¦ÄÜ»òÓ¦¸ÃÔÚÄÄÖÖÇé¿öÏÂʹÓøù¦ÄܾͺÜÈÝÒ×Èà ......
ÒÔÏÂÊǵÚһƪ£º
/*--±È½ÏÁ½¸öÊý¾Ý¿âµÄ±í½á¹¹²îÒì
--*/
/*--µ÷ÓÃʾÀý
exec p_comparestructure 'xzkh_model','xzkh_new'
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_comparestructure ......
SQLÓï¾ä(Ôö¡¢É¾¡¢¸Ä¡¢²é)
¡¡¡¡
¡¡¡¡Ò»¡¢Ôö£ºÓÐ4ÖÖ·½·¨
¡¡¡¡
¡¡¡¡1.ʹÓÃinsert²åÈëµ¥ÐÐÊý¾Ý£º
¡¡¡¡
¡¡¡¡Óï·¨£ºinsert [into] <±íÃû> [ÁÐÃû] values <ÁÐÖµ>
¡¡¡¡
¡¡¡¡Àý£ºinsert into Strdents (ÐÕÃû,ÐÔ±ð,³öÉúÈÕÆÚ) values ('¿ªÐÄÅóÅó','ÄÐ','1980/6/15')
¡¡¡¡
¡¡¡¡×¢Ò⣺into¿ÉÒÔÊ¡ÂÔ£»ÁÐÃûÁÐÖµÓöºº ......
Ò»¡¢×ÛÊö
ÃüÃûºÍ±àÂë¹ý³ÌÖУ¬¶¨ÒåÓÐÒâÒåµÄÃû³Æ£¬ÒÔÒ×ÓÚÀí½â¡¢·½±ãÊéдΪÔÔò¡£
£¨1£©±ÜÃâʹÓÃÖÐÎÄ£¬¾¡Á¿Ê¹ÓÃȫƴÒô»òȫӢÎÄ£¬ÒÔ·½±ã¹ú¼Ê»¯£»
£¨2£©±ÜÃâÆ´ÒôºÍÓ¢ÎĵÄÖÐÎ÷ºÏèµ£¬È磺CAOZUO_TIME£»
£¨3£©±ÜÃâÔÚÃüÃûÖаüÀ¨¿Õ¸ñ¼°ÌØÊâ×Ö·û£»
£¨4£©±ÜÃâʹÓñ£Áô×Ö£»
£¨5£©±ÜÃâÃû³ÆÌ«³¤£¬×¢ÒâËõдµÄʹÓã¬Ëõд¹æÔòΪµ¥´Êǰ4¸ ......
mysql> create table testdate(
-> id int not null auto_increment primary key,
-> time date);
Query OK, 0 rows affected (0.30 sec)
mysql> insert into testdate(time) values('2010-4-23');
Q ......