valueのエラーが発生する例えば、以下のようなJSONをRDB型式に吐き出したいとする。本来であればpriceにNULLのときは0を初期値で入れておこうよというコメントは一回置いておいて、JSONを加工して整数値型にするには以下にすれば良い。valueのエラーが発生してしまいます。理由としてはBigQueryの仕様上、CAST関数が実行できない場合はエラーになるため。いうときはCASTではなく、SAFE_CASTを使用すれば解決します。price,Googleの公式情報にも下記のようなコメントが有りました。関数を使用してある型から別の型にキャストできます。そのキャスティングを実行できなければクエリは失敗します。キャスト関数の詳細については、変換関数をご覧ください。CASTの違いとは?BigQueryにおけるCASTとSAFECASTは、両方ともデータ型を変換するために使用されますが、その違いは何でしょうか?CASTCASTは、データ型を明示的に変換するために使用されます。この変換は、データ型が互換性がある場合にのみ行うことができます。INTEGERをFLOATに変換することができますが、STRINGをINTEGERに変換することはできません。以下は、CASTの使用例です。table_nameSAFE_CASTSAFE_CASTは、CASTと同様にデータ型を変換するために使用されますが、データ型が互換性がない場合でも、エラーを回避するために使用されます。この関数は、変換が成功した場合には変換された値を返し、失敗した場合にはNULLを返します。以下は、SAFE_CASTの使用例です。STRING型のカラムをINTEGER型に変換しようとする場合、CASTではエラーが発生しクエリが中断されますが、SAFECASTではNULLが返されます。以上が、BigQueryにおけるCASTとSAFECASTの違いについての説明です。元エンジニアのプロダクトマネージャー。大規模プロダクトからスタートアップの顧問まで担当。事業開発・プロダクト戦略・KPI立案からのグロースが得意。15:04Tweet関連記事2023-03-06【SQL】LAG関数とOVER関数を使い、購入周期や累積購入金額を計算するtoCサービスやECサービスでプロダクトやマーケティングの施策を...2023-02-28【SQL】マッチングアプリでPMに必要なクエリを学ぶ【初心者】SQLが苦手な方にレクチャーしている時のことです。読者になるこのブログについてはてなブログをはじめよう!ikuo00ukさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。