RDBMS 差分
6 コマンド
件数制限の書き方 件数制限の方言 (LIMIT / TOP / FETCH)
SELECT の返却行数を制限する書き方は RDBMS ごとに異なる。LIMIT / TOP / FETCH FIRST の違いと移植のコツを解説
UPSERT の書き方 UPSERT の方言 (ON CONFLICT / ON DUPLICATE / MERGE)
存在すれば UPDATE、無ければ INSERT の UPSERT は RDBMS で記法が大きく異なる。PostgreSQL/MySQL/SQLite/SQL Server の比較
自動採番の書き方 自動採番の方言 (SERIAL / AUTO_INCREMENT / IDENTITY)
主キーの自動採番は SERIAL / IDENTITY / AUTO_INCREMENT / ROWID と RDBMS ごとに別物。定義方法と挿入直後の ID 取得方法を比較
日付関数の書き方 日付関数の方言 (NOW / DATE_ADD / TO_CHAR)
現在時刻・日付加算・フォーマットは RDBMS 差分が大きい。NOW / GETDATE / CURRENT_TIMESTAMP、INTERVAL / DATE_ADD / DATEADD を比較
文字列連結の書き方 文字列連結の方言 (|| / CONCAT / +)
文字列連結の演算子は RDBMS で異なる。標準の || / MySQL の CONCAT / SQL Server の + と NULL の扱い
識別子のクォート方法 識別子クォートと大文字小文字 ("" / `` / [])
列名やテーブル名のクォート記号は RDBMS で異なる。ダブルクォート / バッククォート / 角括弧、および大文字小文字の扱いを比較
