質問
掲題の件について、ご教示ください。
■背景
・Snowflakeの該当テーブル内該当カラムへ、
ノード「テーブル書き込み」(JDBCコネクタ)を使用し、
boolean値を書き込む想定です。
・書き込み元のデータは HULFT Squareストレージ内に.tsv形式で格納されており、
boolean値のカラムには、1または0が半角数値で格納されています。
・上記.tsvを使用して書き込みを行ったところ、
元データが1のレコードでも、FALSEとして書き込みまれています。
■ご質問内容
・上記挙動はJDBCドライバの仕様によるものでしょうか。
原因と解決策を教えて頂ければ幸いです。
回答
本事象の原因につきまして、JDBCドライバの仕様によるものと思われます。
JDBCドライバにおけるデータ型として、数値型とboolean型は明確に区別されております。
ですので、書き込み元の数値型データをboolean型に直接入力した結果、想定と異なる挙動が発生したと考えられます。
つきましては、書き込み元のboolean型に変換したい数値型データについて、マッピング機能で事前にboolean値に変換していただいた上でデータの書き込みをお試しください
マッピング機能の詳細につきましては、以下のマニュアルをご参照ください。
・【公式マニュアル】 ドキュメントMapper/変数Mapper(基本)
なお、数値型をboolean型に直接入力した場合の実際の挙動につきましては、JDBCドライバの仕様に準じております。
このため、詳細な挙動について確認される場合は、恐れ入りますがお使いのJDBCドライバの提供元へお問い合わせいただくよう、お願いいたします。
コメント
0件のコメント
記事コメントは受け付けていません。