HOME/🔍 BigQuery/

🔍 SPLIT関数

Article Outline

BigQuery

|| SPLIT()

select
    -- SPLITで文字列を' '(スペース)で区切り、offsetで値にアクセス
     split("hello world everyone", ' ')[offset(0)] -- 0番目の要素 hello
    , split("hello world everyone", ' ')[offset(1)] -- 1番目の要素 world
    , split("hello world everyone", ' ')[offset(2)] -- 2番目の要素 everyone

| アクセス方法

  • [OFFSET(0)]:で分割した値にアクセスできる。(0index)
  • [ORDINAL(1)]:で分割した値にアクセスできる。(1 index)
select
     split("hello world everyone", ' ')[offset(0)] -- 0番目の要素 hello
    , split("hello world everyone", ' ')[ordinal(1)] -- 1番目の要素 hello

※ SPLIT関数の戻り値はARRAY型の為、特定配列にアクセスする場合。

  • [SAFE_OFFSET(0)]:0を始めとする.
  • [SAFE_ORDINAL(1)]:1を始めとする.
select 
      oaza_name_kana
    , split(oaza_name_kana, ' ')[offset(0)] as oaza_name_kana0 -- 大字

    -- , nth(2, split(oaza_name_kana, ' ')) as oaza_name_kana1 -- NTH関数がレガシーSQLの為使用不可
    , split(oaza_name_kana, ' ')[safe_offset(1)] as oaza_name_kana1 -- 丁目
from 
    jp_addresses

|| REFERENCE