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

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

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

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

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

1872閲覧

bigquery データ型変換処理について(キャスティング)

raccoondog

総合スコア77

BigQuery

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

Google Cloud Platform

Google Cloud Platformは、Google社がクラウド上で提供しているサービス郡の総称です。エンドユーザー向けサービスと同様のインフラストラクチャーで運営されており、Webサイト開発から複雑なアプリ開発まで対応可能です。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2019/04/17 01:22

編集2019/04/17 06:04

BigQUeryのテーブルで、データ型がFLOATのレコードがあります。
データ型をNUMERICのレコードに変換させたいです。

※変換前 <フィールド名>/<タイプ>/<モード> ORDER_NO/FLOAT/NULLABLE

CAST関数 または CONVERT関数を使用して、タイプ変換させることは可能でしょうか?

※変換後 <フィールド名>/<タイプ>/<モード> ORDER_NO/NUMERIC/NULLABLE

もしくは、別の方法で

テーブルA(※FLOAT型のレコードあり)
テーブルB(※NUMERIC型のレコードあり)

テーブルAのFLOAT型の値を、テーブルBのNUMERIC型の列へインサートさせることは可能でしょうか?

※2019/04/17 15:00追加

https://cloud.google.com/bigquery/docs/manually-changing-schemas?hl=ja 上記URLにあるように、特定カラムをキャスティングしてデータ型変換を試みています。 bigqueryのcompose queryより new query: select ORDER_NO CAST(ORDER_NO AS NUMERIC) AS ORDER_NO from srdcs_data.T_RS_TRAN_SSVR0224_FULL エラー: syntax error Unexpected keyword CAST at [1:17]

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

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

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

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

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

guest

回答2

0

TRUNCが使えるかも?
SELECT TRUNC(123.4), ...

自分でマニュアルを調べるつもりがない人のために、マニュアルを調べてから回答を書く根性も尽きました。

投稿2019/04/17 01:32

Orlofsky

総合スコア16415

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

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

raccoondog

2019/04/17 01:52

ご回答ありがとうございます。 googleのbigqueryには、データ型を変換させる機能がない。との事で bigqueryに2つのテーブルを用意して 片方に、FLOAT型のカラムにオンプレ環境からデータをインサート もう片方に、NUMERIC型のカラムに、FLOAT型のデータをインサート させれば実現可能か?考えております。
raccoondog

2019/04/17 02:28

オラクルのALTER TABLE MODIFY column(s)が、BigQueryにはない状況です。
guest

0

自己解決

以下のSQLでキャスティング成功しました。

select (CAST(ORDER_NO AS NUMERIC)) AS ORDER_NO, RS_TYPE, FACTORY_CODE, ORG_CODE, TRAN_DATE, HINBAN, QTY, SLIP_NO, ITEM_NO, (CAST(DIVISION_NO AS NUMERIC)) AS DIVISION_NO, FROM_FACTORY_CODE,    中略 ACT_CREATION_DATE, WH_ACT_CREATION_DATE, JOB_CODE, (CAST(UNIT_PRICE AS NUMERIC)) AS UNIT_PRICE, ERROR_STATUS, CANCEL_NAME, SUB_SYSTEM_NAME2 from `yzk-gcp-project.srdcs_data.T_RS_TRAN_SSVR0224_FULL`

投稿2019/04/17 10:12

編集2019/04/18 02:33
raccoondog

総合スコア77

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

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

Orlofsky

2019/04/18 02:25

キャスティング → CAST 必要最小限のカラムで提示すれば良いことでは? それ以前に、テーブルの全列を提示して職場から守秘義務違反で訴えられませんか?
raccoondog

2019/04/18 02:33

ご指摘有難うございます。 カラム、最小限にさせて頂きました。。。
Orlofsky

2019/04/18 02:53

カッコも無駄に多用するのは止めたほうが良いです。 CAST(ORDER_NO AS NUMERIC) AS ORDER_NO
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問