OracleからMySQLへ移行する時について最低限知っておくべき5つのこと

タイトルはホッテントリメーカーより.

RDBをOracleからMySQLに変更する際にちょっとつまづいた事.

日付の標記

Oracle: TO_CHAR(), TO_DATE()
MySQL: DATE_FORMAT()

参考:
MysqlのDATE_FORMAT関数をもっと早く知っていれば - 株式会社M&Aバンク
http://ma-bank.com/item/604

シーケンス(順序)

Oracle: テーブル定義とは別にSEQUENCEを作る.
MySQL: オートインクリメントのフィールドを作る.

参考:
LAST_INSERT_ID()の使い方 - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1310289108

バインド変数

Oracle: ":columnName" コロン+カラム名
MySQL: "?" カラムは指定できない.?の数だけバインドする値が必要.
最初の?から順番に評価されていく.

行数制限

Oracle: SELECT文の副文を使う.(もっといい方法あるのかな..)
SELECT * FROM ( SELECT rownum as count, tmp.* FROM( SQLæ–‡ ) tmp ) WHERE count <= 50;
MySQL: LIMIT句を使う

検索結果の行数を数える

Oracle: select rownum で行数が取れる.
MySQL: @rownum:=@rownum+1 as rn とする