MariaDB 範囲を指定して文字列を抽出する

MariaDBで、範囲を指定して文字列を抽出する手順を記述してます。「SUBSTRING( )」に開始位置もしくは開始位置と文字数を指定することで可能です。
環境
- OS CentOS Stream release 9
- MariaDB 10.10.2
- phpMyAdmin 5.2.0
手順
範囲を指定して文字列を抽出するには、「SUBSTRING( )」を使用します。
SUBSTRING( 文字列 , 開始位置, [文字数] )
実際に、「SUBSTRING( )」を使って抽出してみます。
SELECT
SUBSTRING( 'あいうえお', 2 ),
SUBSTRING( 'あいうえお', 2, 2 ),
SUBSTRING( 'あいうえお', 2, 3 )
実行結果を確認すると、指定した範囲で文字数が抽出されていることが確認できます。

半角全角スペースも、1文字としてカウントされます。
SELECT
SUBSTRING( 'あい う えお', 2 ),
SUBSTRING( 'あい う えお', 2, 3 ),
SUBSTRING( 'あい う えお', 2, 5 )
実行結果

「0」を指定すると空が返ります。
SELECT
SUBSTRING( 'あい う えお', 0 ),
SUBSTRING( 'あい う えお', 2, 0 )
実行結果

マイナスを指定
マイナスを指定すると開始位置が後ろから取得されます。
SELECT
SUBSTRING( 'あいうえお', -3 ),
SUBSTRING( 'あいうえお', -3, 2 )
実行結果

数値を指定
数値を指定して実行することもできますが、小数点を利用する場合は、カンマの1文字としてカウントされるので、取得する数と位置に注意が必要です。
SELECT
SUBSTRING( 123456789, 3 ),
SUBSTRING( 11.11, 2, 3 ),
SUBSTRING( 11.11, 3, 3 )
実行結果

サロゲートペア
サロゲートペア文字も、利用できます。
SELECT
SUBSTRING( '😻😂😀🙍🙆', 3 ),
SUBSTRING( '😻😂😀🙍🙆', 2, 3 )
実行結果

-
前の記事
Google ドキュメント 書式なしで貼り付けするショートカットキー 2024.09.19
-
次の記事
kotlin mutableMapからnullを除いて値のListを返す 2024.09.19
コメントを書く