SQL 関数の利用
単一行関数 (スカラ関数)
一般的には、SELECT 文 の 取得する列に記述する。
- ABS(col): col の絶対値を取得する。
SELECT ABS(col) FROM 〜 ;
もちろん WHERE, GROUP BY, HAVING , ORDER BY 句に書いても大丈夫。
- カラムの値を文字順ではない方法で並び替える
'済'、'未済'、'不明'、それ以外 の昇順で並び替える(文字を数値に置換して並び替え)。
SELECT col FROM tbl ORDER BY DECODE(col,'済', 1, '未済', 2, '不明', 3, 4) ;
(注意) 通常、カラムにファンクションを使用してしまうとインデックスが使用されなくなるため、
以下の SQL の方が検索速度が高速になる可能性が高い、という事を覚えておくとよい。
SELECT col FROM tbl WHERE col < 0 ;
ファンクションを使用してもインデックスが効く特別なインデックスも存在する。
⇒ ファンクション・インデックスを作成した例