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?

【SilverSQL】第5章~第6章

Last updated at Posted at 2025-05-04

変換ファンクションおよび条件式の使用

データ型の変換

TO_CHAR

数値型データを文字型データに変換する

TO_CHAR(n [, 'format' ])
  • 数値nを文字列に変換
  • 数値書式formatを省略すると、nの有効桁数を保持するために十分な長さの文字列に変換
  • 数値書式formatを指定すると、指定された書式に基づき文字列に変換
SQL> SELECT TO_CHAR(12345.67, '999,999.999') FROM dual;
結果
12,345.670
数値書式で使用できる主な数値の書式要素
書式要素 説明 結果例
9 9の数が有効な桁数を表す 999999 12345
0 桁数に満たない場合、先頭にゼロを付けた数値を表す 099999 012345
$ $記号を数値の前に付けて表す $99999 $12345
L ローカル通貨記号を数値の前に付けて表す L99999 ¥12345
C 指定した位置にISO通貨記号を付けて表す C99999 JPY12345
D 指定した位置に小数点を付けて表す 999D999 12.345
. 指定した位置に小数点を付けて表す 999.999 12.345
G 指定した位置に桁区切りを付けて表す 99G999 12,345
, 指定した位置に桁区切りを付けて表す 99,999 12,345

有効桁数が不足した場合

実際の数値データよりも数値要素の桁数が足りない場合、「#」で表示

例(整数部の桁数が不足)
SQL> SELECT TO_CHAR(12345.67, '9,999.999') FROM dual;
結果
#########

TO_NUMBER

文字型データを数値型データに変換する

TO_NUMBER(str [, 'format' ])
  • 文字列strを数値書式formatに基づき数値に変換
SQL> SELECT TO_NUMBER('$19,456', '$99G999') FROM dual;
結果
19456

暗黙的なデータ型変換

  • 数値型の列に、文字列を設定しようすると暗黙的なデータ型変換が行われる
  • 文字列から日時型への暗黙的なデータ型変換

NVL

NULLを異なる値に置き換える

NVL(in, replace)
  • inがNULLの場合、値をreplaceに置き換える。
  • inがNULLでない場合、置き換えは実行せず、inを戻す。
  • inのデータ型と、replaceのデータに型が異なる場合、replaceをinのデータ型に暗黙的に変換。

COALESCE

複数の値のうち、最初に見つかった非NULL値を戻す

COALESCE(in1, in2, ...., inN)
  • in1からinNの中で最初に見つかったNULLではない値を戻す
  • in1からinNのすべてがNULLの場合、NULLを戻す
  • in1からinNは同じデータ型である必要がある
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?