翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
SPLIT_PART
ソース文字列を区切り文字で分割し、指定した部分(1 から数える)を返します。
関連項目:
[SELECT]
構文
SELECT SPLIT_PART(source, sep, part) FROM <multipartIdentifier>;
引数
source
分割を実行する文字列リテラルまたは文字列型の列です。
sep
区切り文字として使用する 1 文字以上の文字です。
sepが複数の文字で構成されている場合は、各文字が区切り文字として扱われます。
区切り文字としてサポートされているのは ASCII(1 バイト)の記号のみです。
part
返す要素の、分割後の文字列における位置(1 から数える)です。負の値を指定すると、最後の要素から逆方向に数えます。
戻り値
文字列を返します。
例
スラッシュで区切られた文字列から要素を抽出する
- StackQL
- 結果
SELECT name,
split_part(id, '/', 3) as subscription,
split_part(id, '/', 5) as resource_group,
json_extract(properties, '$.hardwareProfile.vmSize') as vm_size
FROM azure.compute.virtual_machines
WHERE resource_group_name = 'stackql-ops-cicd-dev-01'
AND subscription_id = '273769f6-545f-45b2-8ab8-2f14ec5768dc';
|------|--------------------------------------|-------------------------|-----------------|
| name | subscription | resource_group | vm_size |
|------|--------------------------------------|-------------------------|-----------------|
| test | 273769f6-545f-45b2-8ab8-2f14ec5768dc | stackql-ops-cicd-dev-01 | Standard_D2s_v3 |
|------|--------------------------------------|-------------------------|-----------------|
URL から最後の要素を抽出する
- StackQL
- 結果
SELECT
name,
SPLIT_PART(network, '/', -1) as network,
SPLIT_PART(region, '/', -1) as region
FROM google.compute.vpn_gateways WHERE project = 'stackql-demo';
+------------------------+-----------------------+----------------------+
| name | network | region |
+------------------------+-----------------------+----------------------+
| gcp-aws-vpn-gateway | stackql-shrd-vpc-nw | australia-southeast1 |
+------------------------+-----------------------+----------------------+
詳細については、https://github.com/nalgeon/sqlean/blob/main/docs/text.md を参照してください。