【PostgreSQL】文字列関数 ~ split_part ~

■ はじめに

https://dk521123.hatenablog.com/entry/2021/08/21/000000

の続き。

今回は、split_part について、扱う。

目次

【1】split_part
【2】構文
【3】サンプル
 例1:Hello world

【1】split_part

* 指定した区切り文字「delimiter」で分割する

【2】構文

* PostgreSQL だけでなく、Redshift も使えるので記録しておく

PostgreSQL
https://www.postgresql.jp/docs/9.2/functions-string.html

-- stringをdelimiterで分割し、
-- その結果から指定したフィールドを返します。
-- ★注意★ field ... 1から始まる(0発進じゃない)
split_part(string text, delimiter text, field int)

Redshift
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/SPLIT_PART.html

-- 指定された区切り記号で文字列を分割し、
-- 指定された位置にあるパートを返します
SPLIT_PART(string, delimiter, part)

【3】サンプル

例1:Hello world

SELECT
 'hello@world@!!' AS v,
 SPLIT_PART('hello@@world@@!!', '@@', 1) AS v1,
 SPLIT_PART('hello@@world@@!!', '@@', 2) AS v2 ,
 SPLIT_PART('hello@@world@@!!', '@@', 3) AS v3
;

出力結果

"v","v1","v2","v3"
"hello@world@!!","hello","world","!!"

関連記事

文字列関数 ~ string_agg ~
https://dk521123.hatenablog.com/entry/2021/08/21/000000