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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です