Oracle -> MySQL SQL変換メモ
■システム日付
・Oracle SYSDATE ・MySQL NOW()
■日付型→文字列型変換(YYYY/MM/DD)
・Oracle: TO_DATE(TO_CHAR(SYSDATE), 'YY-MM-DD') ・MySQL: DATE_FORMAT( SYSDATE() , '%Y-%m-%d')
■TRUNC(日付)
・Oracle TRUNC(SYSDATE) ・MySQL DATE(SYSDATE())
■ADD_MONTH
・Oracle ADD_MONTHS(SYSDATE, 1) ・MySQL DATE_ADD(SYSDATE(),INTERVAL 1 MONTH)
■MONTHS_BETWEEN
・Oracle MONTHS_BETWEEN(SYSDATE, SYSDATE+1) ・MySQL DATEDIFF(SYSDATE(), SYSDATE()+1)
■TO_NUMBER
・Oracle TO_NUMBER('-100') ・MySQL CAST('-0008000' as signed)
■TO_DATE
・Oracle TO_DATE('9999/12/31', 'YYYY/MM/DD') ・MySQL STR_TO_DATE('9999/12/31', '%Y/%m/%d')
■NULL文字変換
・Oracle: NVL(exp1,exp2) ・MySQL: IFNULL(exp1, exp2)
■外部結合
・Oracle: WHERE A.id(+) = B.id ・MySQL: FROM A RIGHT OUTER JOIN B ON (A.id = B.id) ・Oracle: WHERE A.id = B.id(+) ・MySQL: FROM A LEFT OUTER JOIN B ON (A.id = B.id)