忍者ブログ

「DB2でLPAD」の詳細記事: Javaってまだいけますか

Javaってまだいけますか

いっぱいいっぱいで無理なので学んだ事をいちいちメモっていくブログです。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Navigation

DB2でLPAD

DB2だとLAPD関数が無いのでFUNCTIONとして自作しました。

・指定文字で埋めるバージョン
CREATE FUNCTION LPAD (STR VARCHAR(128), LEN INTEGER, PAD VARCHAR(1))
RETURNS VARCHAR(128)
LANGUAGE SQL CONTAINS SQL
RETURN (
CASE WHEN LENGTH(RTRIM(STR)) < LEN THEN
REPEAT(PAD, LEN - LENGTH(RTRIM(STR))) || STR
ELSE
STR
END
);


・半角空白で埋めるバージョン
CREATE FUNCTION LPAD (STR VARCHAR(128), LEN INTEGER)
RETURNS VARCHAR(128)
LANGUAGE SQL CONTAINS SQL
RETURN (
CASE WHEN LENGTH(RTRIM(STR)) < LEN THEN
REPEAT(' ', LEN - LENGTH(RTRIM(STR))) || STR
ELSE
STR
END
);


ちなみに同じ名前で引数違いのFUNCTIONを作ったら、DROPのときはシグネチャを指定します。
DROP FUNCTION LPAD (VARCHAR(128), INTEGER, VARCHAR(1));
DROP FUNCTION LPAD (VARCHAR(128), INTEGER);

残念ながら、使うときは
スキーマ名.LPAD(カラム名, 桁数, '0')

のようにスキーマ名の修飾が必要です。
PR

Navigation

「DB2でLPAD」にトラックバックする

「DB2でLPAD」へのトラックバック

「DB2でLPAD」へのコメント

「DB2でLPAD」にコメントする

コメント作成

Navigation

Copyright ©  Javaってまだいけますか  All Rights Reserved.
  • 忍者ブログ
  • [PR]

menu

ブログ内検索

カテゴリー

カウンター

忍者アド

リンク

最新CM

[07/17 セバ]
[12/27 NONAME]

最新記事

(10/15)
(10/01)
(08/12)
(08/12)
(08/11)

プロフィール

HN:
takacy.k
年齢:
37
性別:
男性
誕生日:
1979/08/13
趣味:
自己紹介:
個人的なメモですので、投稿内容について真偽を保証するものではありません。また、当ブログの内容をご利用になったことによる(以下略)

最新TB

RSS

アーカイブ

アクセス解析