HiRDBで文字列操作を行う方法:LPADの代替と空白除去

データベース

HiRDBでの文字列操作について、特定の文字列を先頭から空白で埋める方法と、前後の空白を一発で削除する方法について解説します。

HiRDBでLPADの代替方法

OracleのLPAD()関数は、指定した長さまで文字列を埋めるために使用できますが、HiRDBにはLPAD()関数が存在しません。その代替方法として、REPEAT()関数とSUBSTR()関数を組み合わせて利用できます。

実装方法

以下のようなSQLを使用することで、先頭に指定した数の空白を追加できます。

SELECT SUBSTR(REPEAT(' ', 6) || 'abc', LENGTH('abc') + 1, 6) FROM hoge;

解説:

  • REPEAT(' ', 6) – 空白を6回繰り返して生成
  • || 'abc' – 文字列を連結
  • SUBSTR(..., LENGTH('abc') + 1, 6) – 必要な長さの部分を取得

HiRDBで前後の空白を削除する方法

Oracleでは、LTRIM()RTRIM()を組み合わせることで、文字列の前後の空白を削除できます。HiRDBでは、同様のアプローチが可能ですが、HiRDBのバージョンによってはTRIM()関数が利用できる場合があります。

方法1: LTRIMとRTRIMの組み合わせ

一般的に、以下のように記述します。

SELECT RTRIM(LTRIM(文字列)) FROM テーブル名;

方法2: TRIM() を使用(HiRDBのバージョンによる)

HiRDBのバージョンによっては、TRIM()関数が利用できる場合があります。

SELECT TRIM(文字列) FROM テーブル名;

まとめ

HiRDBでは、OracleのLPAD()のような関数は提供されていませんが、REPEAT()SUBSTR()を組み合わせることで代替できます。また、LTRIM()RTRIM()を使えば前後の空白を削除できます。

HiRDBのバージョンによってはTRIM()が利用可能な場合もあるので、環境に応じて適切な方法を選びましょう。

コメント

タイトルとURLをコピーしました