db2の文字列から数字を抽出する

正規表現で文字列中の数値を抜き出すことができます。DB2ではREGEXP_SUBSTR関数を用いて実現できます。以下はその例です。

SYSIBM.SYSDUMMY1から’abc123def456’の正規表現サブ文字列'[0-9]+’を選択する

この関数は文字列内の最初の連続する数字部分文字列、すなわち「123」を返します。

正規表現置換関数を使えば、すべての数値サブストリングを抽出できます。

SELECT REGEXP_REPLACE(‘abc123def456’, ‘[^0-9]+’, ‘ ‘)
FROM SYSIBM.SYSDUMMY1;

これにより、各数字のサブストリングをスペースで区切った「123 456」が返されます。

bannerAds