質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

Q&A

解決済

1回答

572閲覧

SQL:ひらがな1文字削除

ttoo

総合スコア126

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

0グッド

0クリップ

投稿2020/06/01 02:41

編集2020/06/01 04:25

環境はBigqeuryです。

Bigqeuryにて下記のような配列型のカラムを持っているテーブルが存在するとします

colum1 | colum2(REPEATED) value1 | 私 | は | 人間 | です | 。

colum1のvalue1は「私は人間です。」に対して、各単語が区切られたものが、
配列型として入力されています。
イメージ
value1:[私、は、人間、です、。]
colum2はREPEATED型になります。

この時、「は」のようなひらがな1文字を削除したいと考えているのですが、
likeなどの正規表現を用いて、どのようにひらがな1文字を削除することができますでしょうか?

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2020/06/01 02:58 編集

配列の区切りは何ですか?改行(crlf)?
sazi

2020/06/01 04:02

配列型は分かるのですが、その配列を区切る文字が何かです。 配列型の標準では','区切りなのですが。
ttoo

2020/06/01 04:03 編集

REPEATED型の区切り文字は多分「,」ですかね????
guest

回答1

0

ベストアンサー

配列を一旦unnestで展開したものから不要な文字を除いたものを再度配列化(array_agg)すると、求める結果が得られます。

SQL

1select colum1, colum2 2 , ( 3 select array_agg(list) from unnest(t1.colum2) as w(list) 4 where list not in ('は') 5 ) new_colum2 6from tbl t1

同様に上記編集を元にデータを更新すれば除去されます。

SQL

1update tbl t1 set 2colmn2=( 3 select array_agg(list) from unnest(t1.colum2) as w(list) 4 where list not in ('は') 5 )

※未検証です。悪しからず。

良く使用するようなら、配列編集(指定項目を配列から除去)を行う専用のストアドを作成しておくと良いかと思います。

投稿2020/06/01 04:50

編集2020/06/01 05:11
sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問