0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OracleのSQLをMySQLで書く場合

Last updated at Posted at 2022-07-31

元々OracleでSQLをかいていたが、プロジェクトが変わってMySQLで書くことになったので
SQLの書き方違うモノをまとめた。

今後随時更新をしていこうと思う。

予約語が違うモノ

Oracle MySQL アンカーリンク
NVL IFNULL NVL
TO_CHAR 日付:DATE_FORMAT
数値:FORMAT
TO_CHAR, TO_NUMBER
TO_CHAR 日付:DATE_FORMAT
数値:FORMAT
TO_CHAR, TO_NUMBER
decode 存在しない。

予約語が一緒なもの

Oracle MySQL
COALESQUE COALESQUE
INSTR INSTR

NVL

基本的にデータのNULLを置き換えるために使用する。
例えば、NULLであれば「0」を出すようにする…など。

NVLはMySQLに存在しない、代わりにIfNullが存在する。
COALESQUEという関数も存在し、それも同様に使うことができる。
これはOracleと一緒の感覚で使うことができる。

select ifnull(column,0) from table

TO_CHAR, TO_NUMBER

日付型などを文字列で特定書式で表示する場合…などに使います。

MySQLでは、日付の場合はDATE_FORMAT関数を使います。
しかし、Oracleの書式指定とは全く別物なので、フォーマット指定方法は調べてから書いたほうがいいと思います。

数値の場合は、FORMAT関数を使います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?