RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

【MySQL】【Oracle】類似関数・構文の比較

OracleMySQLの類似関数や構文を並べて整理する
(ほとんど自分用)


 

 

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()」だけで現在時刻が取れる-ので、
あってもなくてもあんまり関係ないかもしれない。

ちょこちょこ育てていきます。