ÔõÑù°ÑOracle²éѯת»»ÎªSQL Server
ÔÚ°ÑOracle²éѯת»»ÎªSQL ServerµÄʱºòÒªÌØ±ðµ±ÐÄһЩ²»ÈÝÒ××¢Òâµ½µÄÎÊÌâ¡£ÎÒÃÇÖªµÀ£¬T-SQLÊÇSQL ServerµÄÓïÑÔÒýÇæ£¬¶øOracleµÄÓïÑÔÒýÇæÈ´ÊÇPLSQL.ÕâÁ½ÖÖ²éѯÓïÑÔ¶¼¶ÔANSI SQL-92±ê×¼½øÐÐÁËÀ©Õ¹ÒÔÌṩ¶îÍâµÄÖ§³ÖÁ¦¶È¡£ÄãËù´´½¨µÄÓ¦ÓóÌÐò¼¸ºõ¶¼ÒªÓõ½ÕâЩ²¹³äÌØÐÔ¡£±¾ÎľͶÔ×î³£Óõġ¢·Ç±ê×¼µÄOracleÀ©Õ¹½øÐÐÁË˵Ã÷£¬Í¬Ê±»¹Òª½éÉÜÏÂÈçºÎ¶ÔÕâЩÀ©Õ¹½øÐÐת»¯ÒÔÓÃÔÚSQL Server»·¾³Ï¡£
ÁеÄÑ¡Ôñ
ÓÃPLSQLÖ´ÐÐÊý¾Ý²éѯµÄʱºò£¬from×Ó¾äÊDZØÐëµÄ£¬ÕâͬSQL ServerµÄÒªÇóÊÇÒ»ÑùµÄ¡£ SELECTÓï¾ä±ØÐëÑ¡ÔñÕë¶ÔµÄÊý¾Ý±í¡£
1)DUAL
ÔÚOracleÊý¾Ý¿âÄÚÓÐÒ»ÖÖÌØÊâµÄ±íDUAL.DUAL±íÓÉOracleÁ¬Í¬Êý¾Ý×Öµäһͬ´´½¨£¬ËùÓеÄÓû§¶¼¿ÉÒÔÓÃÃû³ÆDUAL·ÃÎÊ¸Ã±í¡£Õâ¸ö±íÀïÖ»ÓÐÒ»ÁÐDUMMY£¬¸ÃÁж¨ÒåΪVARCHAR2£¨1£©ÀàÐÍ£¬ÓÐÒ»ÐÐÖµX.
´ÓDUAL±íÑ¡ÔñÊý¾Ý³£±»ÓÃÀ´Í¨¹ýSELECTÓï¾ä¼ÆËã³£Êý±í´ïʽ£¬ÓÉÓÚDUALÖ»ÓÐÒ»ÐÐÊý¾Ý£¬ËùÒÔ³£ÊýÖ»·µ»ØÒ»´Î¡£
OracleϵÄDUAL²éѯÈçÏÂËùʾ£º
¡¡¡¡SELECT ‘x’ from dual
¡¡¡¡¶ø¶ÔµÈµÄSQL Server²éѯÔòÊÇÏÂÃæÕâ¸öÑù×Ó£º
¡¡¡¡SELECT ‘x’
2)Á¬½Ó
OracleÓÃ|| ·ûºÅ×÷ΪÁ¬½Ó·û£¬¶øSQL ServerµÄÁ¬½Ó·ûÊǼӺţº+ .
¡¡¡¡Oracle²éѯÈçÏÂËùʾ£º
¡¡¡¡Select ‘Name’ || ‘Last Name’ from tableName
¡¡¡¡¶ÔÓ¦µÄSQL Server²éѯÈçÏÂËùʾ£º
Select ‘Name’ + ‘Last Name’
3)Êý×ÖÈ¡Éá
OracleÊý¾Ý¿âÄÚÓÐÒ»¸öTRUNCº¯Êý£¬¸Ãº¯Êý·µ»Ømλʮ½øÖÆÊýµÄnλ£»Èç¹ûÊ¡ÂÔmÔòn¾ÍÊÇ0λ¡£mµÄÖµ¿ÉÒÔΪ¸º£¬±íʾ½ØÈ¥Ð¡Êýµã×ó±ßmλÊý×Ö¡£
¡¡¡¡ÔÚSQL ServerÏ¿ÉÒÔÓÃRound»òÕßFloor.
¡¡¡¡ÒÔÏÂÊÇOracle²éѯ£º
¡¡¡¡SELECT TRUNC£¨15.79£¬1£© "Truncate" from DUAL£»
¡¡¡¡ÏÂÃæÊÇͬÀà²éѯµÄSQL Server°æ±¾£º
¡¡¡¡SELECT ROUND£¨15.79£¬ 0£© rounded £¬
¡¡¡¡ROUND£¨15.79£¬ 0£¬1£© truncated
¡¡¡¡SELECT FLOOR£¨ROUND£¨15.79£¬ 0£©£©£¬
¡¡¡¡FLOOR£¨ROUND£¨15.79£¬ 0£¬1£© £©
4)Êý×Öת»»
OracleµÄTO_CHARº¯Êý¿ÉÒÔ°ÑnλNUMBERÊý¾ÝÀàÐÍת»»ÎªVARCHAR2 Êý¾ÝÀàÐÍ£¬Í¬Ê±²ÉÓÿÉÑ¡µÄÊý×Ö¸ñʽ¡£
¡¡¡¡SQL ServerÔòͨ¹ýSTRº¯Êý·µ»ØÊý×Öת»»Ö®ºóµÄ×Ö·ûÊý¾Ý¡£²»¹ý£¬¸Ãº¯Êý²»¾ß·
Ïà¹ØÎĵµ£º
update £ºµ¥±íµÄ¸üв»ÓÃ˵ÁË£¬Á½ÕßÒ»Ñù£¬Ö÷Ҫ˵˵¶à±íµÄ¸üÐÂ
Oracle> OracleµÄ¶à±í¸üÐÂÒªÇó±È½ÏÑϸñ£¬ËùÒÔÓеÄʱºò²»ÊǺܺÃд£¬ÎÒÃÇ¿ÉÒÔÊÔÊÔOracleµÄÓαê
&n ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£º
Á¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐ ......
SQLServerºÍOracleµÄ³£Óú¯Êý¶Ô±È
¡¡¡¡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) valu ......
ÓÉÓÚÒÔǰ¶¼ÊÇÔÚsqlserver 2005´¦Àí£¬ÏÖÔÚ¿Í»§ÒªÇóoracleÊý¾Ý¿â·þÎñÆ÷£¬
×î³õµÄ´úÂëΪ£º
allRecordSize = (Integer) rs1.getObject(1); //Integer allRecordSize=0;
µ±Ö´ÐеÄʱºò±¨£ºBigDecimalÎÞ·¨×ª»¯ÎªIntegerÀàÐÍ
ΪÁ˼æÈÝÁ½ÕßÐ޸ĺóµÄ´úÂëΪ£º
Object o = rs1.getObject(1);
&nbs ......