ÒÔÏÂÊÇMySQLǨµ½OracleÐèÒªÕÆÎÕµÄ×¢ÒâÊÂÏϣÍû¶ÔÄãÓÐËù°ïÖú¡£
1£®×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬²åÈë¼Ç¼ʱ²»ÓòÙ×÷´Ë×ֶΣ¬»á×Ô¶¯»ñµÃÊý¾ÝÖµ¡£ORACLEûÓÐ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ£¬ÐèÒª½¨Á¢Ò»¸ö×Ô¶¯Ôö³¤µÄÐòÁкţ¬²åÈë¼Ç¼ʱҪ°ÑÐòÁкŵÄÏÂÒ»¸öÖµ¸³ÓÚ´Ë×ֶΡ£
CREATE SEQUENCE ÐòÁкŵÄÃû³Æ (×îºÃÊDZíÃû+ÐòÁкűê¼Ç) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 CYCLE NOCACHE;
ÆäÖÐ×î´óµÄÖµ°´×ֶεij¤¶ÈÀ´¶¨, Èç¹û¶¨ÒåµÄ×Ô¶¯Ôö³¤µÄÐòÁкŠNUMBER(6) , ×î´óֵΪ999999
INSERT Óï¾ä²åÈëÕâ¸ö×Ö¶ÎֵΪ: ÐòÁкŵÄÃû³Æ.NEXTVAL
2. µ¥ÒýºÅµÄ´¦Àí
MYSQLÀï¿ÉÒÔÓÃË«ÒýºÅ°üÆð×Ö·û´®£¬ORACLEÀïÖ»¿ÉÒÔÓõ¥ÒýºÅ°üÆð×Ö·û´®¡£ÔÚ²åÈëºÍÐÞ¸Ä×Ö·û´®Ç°±ØÐë×öµ¥ÒýºÅµÄÌæ»»£º°ÑËùÓгöÏÖµÄÒ»¸öµ¥ÒýºÅÌæ»»³ÉÁ½¸öµ¥ÒýºÅ¡£
3. ·Ò³µÄSQLÓï¾äµÄ´¦Àí
MYSQL´¦Àí·Ò³µÄSQLÓï¾ä±È½Ï¼òµ¥£¬ÓÃLIMIT ¿ªÊ¼Î»ÖÃ, ¼Ç¼¸öÊý£»PHPÀﻹ¿ÉÒÔÓÃSEEK¶¨Î»µ½½á¹û¼¯µÄλÖá£ORACLE´¦Àí·Ò³µÄSQLÓï¾ä¾Í±È½Ï·±ËöÁË¡£Ã¿¸ö½á¹û¼¯Ö»ÓÐÒ»¸öROWNUM×ֶαêÃ÷ËüµÄλ ÖÃ, ²¢ÇÒÖ»ÄÜÓÃROWNUM<100, ²»ÄÜÓÃROWNUM>80¡£
ÒÔÏÂÊǾ¹ý·ÖÎöºó½ÏºÃµÄÁ½ÖÖORACLE·Ò³SQLÓï¾ä( IDÊÇΨһ¹Ø¼ü×ÖµÄ×Ö¶ÎÃû )£º
Óï¾äÒ»£º
SELECT ID, [FIELD_NAME,...] FROM TABLE_NAME WHERE ID IN ( SELECT ID FROM (SELECT ROWNUM AS NUMROW, ID FROM TABLE_NAME WHERE Ìõ¼þ1 ORDER BY Ìõ¼þ2) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY Ìõ¼þ3;
Óï¾ä¶þ£º
SELECT * FROM (( SELECT ROWNUM AS NUMROW, c.* from (select [FIELD_NAME,...] FROM TABLE_NAME WHERE Ìõ¼þ1 ORDER BY Ìõ¼þ2) c) WHERE NUMROW > 80 AND NUMROW < 100 ) ORDER BY Ìõ¼þ3;
4£® ³¤×Ö·û´®µÄ´¦Àí
³¤×Ö·û´®µÄ´¦ÀíORACLEÒ²ÓÐËüÌØÊâµÄµØ·½¡£INSERTºÍUPDATEʱ×î´ó¿É²Ù×÷µÄ×Ö·û´®³¤¶ÈСÓÚµÈÓÚ4000¸öµ¥×Ö½Ú, Èç¹ûÒª²åÈë¸ü³¤µÄ×Ö·û´®, Ç뿼ÂÇ×Ö¶ÎÓÃCLOBÀàÐÍ£¬·½·¨½èÓÃORACLEÀï×Ô´øµÄDBMS_LOB³ÌÐò°ü¡£²åÈëÐ޸ļǼǰһ¶¨Òª×ö½øÐзǿպͳ¤¶ÈÅжϣ¬²»ÄÜΪ¿ÕµÄ×Ö¶ÎÖµºÍ³¬³ö³¤ ¶È×Ö¶ÎÖµ¶¼Ó¦¸ÃÌá³ö¾¯¸æ,·µ»ØÉϴβÙ×÷¡£
5. ÈÕÆÚ×ֶεĴ¦Àí
MYSQLÈÕÆÚ×ֶηÖDATEºÍTIMEÁ½ÖÖ£¬ORACLEÈÕÆÚ×Ö¶ÎÖ»ÓÐDATE£¬°üº¬ÄêÔÂÈÕʱ·ÖÃëÐÅÏ¢£¬Óõ±Ç°Êý¾Ý¿âµÄϵͳʱ¼äΪSYSDATE, ¾«È·µ½Ã룬»òÕßÓÃ×Ö·û´®×ª»»³ÉÈÕÆÚÐͺ¯ÊýTO_DATE(¡®2001-08-01¡¯,¡¯YYYY-MM-DD¡¯)Äê-ÔÂ-ÈÕ 24Сʱ:·ÖÖÓ:Ãë µÄ¸ñʽYYYY-MM-DD HH24:MI:SS TO_DATE()»¹ÓкܶàÖÖÈÕÆÚ¸ñʽ, ¿ÉÒԲο´ORACLE DOC.ÈÕÆÚÐÍ×Ö¶Îת»»³É×Ö·û´®º¯ÊýTO_CHAR(¡®2001-08-01¡¯,¡¯YYYY-MM-DD HH24:MI:SS¡¯)
ÈÕÆÚ×ֶεÄÊýѧÔËË㹫ʽÓкܴóµÄ²»Í¬¡£MYSQLÕÒµ½À뵱ǰʱ¼ä7ÌìÓà DATE_FIELD_NAME > SUBDATE£¨NOW£¨£©£¬INTERVAL 7 DAY£©ORACLEÕÒµ½À뵱ǰʱ¼ä7ÌìÓà DATE_FIELD_NAME >SYSDATE - 7;
6. ¿Õ×Ö·ûµÄ´¦Àí
MYSQLµÄ·Ç¿Õ×Ö¶ÎÒ²ÓпյÄÄÚÈÝ£¬ORACLEÀﶨÒåÁË·Ç¿Õ×ֶξͲ»ÈÝÐíÓпյÄÄÚÈÝ¡£°´MYSQLµÄNOT NULLÀ´¶¨ÒåORACLE±í½á¹¹, µ¼Êý¾ÝµÄʱºò»á²úÉú´íÎó¡£Òò´Ëµ¼Êý¾ÝʱҪ¶Ô¿Õ×Ö·û½øÐÐÅжϣ¬Èç¹ûΪNULL»ò¿Õ×Ö·û£¬ÐèÒª°ÑËü¸Ä³ÉÒ»¸ö¿Õ¸ñµÄ×Ö·û´®¡£
7. ×Ö·û´®µÄÄ£ºý±È½Ï
MYSQLÀïÓà ×Ö¶ÎÃû like '%×Ö·û´®%',ORACLEÀïÒ²¿ÉÒÔÓà ×Ö¶ÎÃû like '%×Ö·û´®%' µ«ÕâÖÖ·½·¨²»ÄÜʹÓÃË÷Òý, ËٶȲ»¿ì£¬ÓÃ×Ö·û´®±È½Ïº¯Êý instr(×Ö¶ÎÃû,'×Ö·û´®')>0 »áµÃµ½¸ü¾«È·µÄ²éÕÒ½á¹û¡£
8. ³ÌÐòºÍº¯ÊýÀ²Ù×÷Êý¾Ý¿âµÄ¹¤×÷Íê³ÉºóÇë×¢Òâ½á¹û¼¯ºÍÖ¸ÕëµÄÊÍ·Å¡£