본문 바로가기
DBA

mysqlのSQLをoracleで書く(一覧)

by 엘리후 2024. 5. 10.

concat

文字列を結合する。Oracleでは2つしか結合不可。

CONCAT(char1, char2)

Oracleで3つ以上の文字列を結合する場合は||を使用

char1||char2||char3

format date_format time_format

値を指定のフォーマットで整形した文字列を取得する。

FORMAT(string,format)
DATE_FORMAT(date,format)
TIME_FORMAT(time,format)

OracleではTO_CHARを用いる。
また、フォーマットに%Yや%hは使えない。(YYYY/MM/DDなどを使用)

TO_CHAR(date, 'YYYY/MM/DD')

IFNULL

値がNULLか判別する。

 
IFNULL(カラム名, ‘置き換える値’)

OracleではNVLを用いる。

NVL(カラム名, ‘置き換える値’)

coalesceという関数もあるらしい。こちらはmysql,oracle両方で(標準SQLなので他DBでも)利用可能。
https://qiita.com/Qu4rtz_MC5/items/714c57030add17c7ab8d#comment-b3cdd790132a51d09637

COALESCE(カラム名, '置き換える値')

テーブルに別名を付ける

Oracleではテーブルの別名を付ける際にASを使えない模様。ASの代わりに空白を入れる。

SELECT * FROM tbl tbl1

댓글