SQL

SQL 個人的なメモ帳 (DB2/IBM Navigator for i)

数値型のデータの左側・右側の数値を取得

数値型のデータをRIGHT/LEFT関数を使わずに(文字列型に暗黙的な型変換することなく)、左側・右側の数値を取得する。

SELECT 122020/10000
FROM TABLE
---------------------------------
12
SELECT MOD(022020,10000)
FROM TABLE
---------------------------------
2020

アルファベットの範囲指定

WHERE RETSU < 'A' OR RETSU > 'Z'

桁揃え

数値データの桁を揃える。「1」→「001」等。LPADで可能だが、DIGITSの方が処理が軽い。LPADの場合は0以外の文字充填が可能。

SELECT A, LPAD(A,10,'0'), RPAD(A,10,'*')
FROM TABLE
--Oracle/DB2/PostgreSQLは充填文字が省略可能
---------------------------------
1       0000000001      1********
SELECT KATA, ATAI, DIGITS(ATAI)
FROM TABLE
---------------------------------
INTERGER(6)   1      000001
DECIMAL(6,2)  1.1   000011
DECIMAL(6,2)  -1.1  000011

0除算防止

除算の場合、割る側にNULLIF関数を入れる。0で除算を防ぐため。

SELECT A, B, A/NULLIF(B, 0)
FROM TABLE

ABOUT ME
ゼノン / Xenonhyx (管理人)
愛知県出身。趣味は自作PCとゲーム。 略歴:エンジニア兼マーケター→フリーライター→エンジニア

COMMENT

メールアドレスが公開されることはありません。