【MySQL】【Oracle】類似関数・構文の比較
OracleとMySQLの類似関数や構文を並べて整理する
(ほとんど自分用)
No関数・構文OracleMySQL備考
1 | 今日の日付を取得 | sysdate | now() | |
2 | 日付の書式整形 | to_char(sysdate,'yyyyMMdd') | date_format(now(),'%Y%m%d') | yyyyMMdd形式に整形 |
3 | 日付の加算 (1日後を指す) |
sysdate + 1 | date_add(now(),interval 1 day) | |
4 | 日付の減算 (1日前を指す) |
sysdate - 1 | date_sub(now(),interval 1 day) | |
5 | merge (あればUPDATEなければINSERT) |
merge into [テーブル名] using [条件用・結合用の副問い合わせ] on [結合条件] when matched then update set [編集項目] = [編集内容](, 以後続く) when not matched then insert ([項目列挙]) values ([条件用・結合用の副問い合わせ]) |
insert into [テーブル名] values ([項目列挙]) on duplicate key update [編集項目] = [編集内容](, 以後続く) |
|
6 | テーブルの一覧 | select table_name from user_tables; | show tables from [DB名] | |
7 | テーブルカラムの一覧 | select column_name from user_tab_columns where table_name = [テーブル名]; | show columns from [テーブル名] |
ちなみに、MySQLにもdual表はある。
が、MySQLではそもそもFROM以降を省略できる
-例えば、「select now()」だけで現在時刻が取れる-ので、
あってもなくてもあんまり関係ないかもしれない。
ちょこちょこ育てていきます。