私はbigqueryでいくつかのメタプログラミングをしていて、私が期待していなかったことに気付きました。selectでbigqueryの必須フィールドをnullableにする方法はありますか?
SELECT * FROM `bigquery-public-data.samples.shakespeare` LIMIT 1000
公共データセットに対して行く必要があります。
私はこのクエリを使用しています。
が"schema": {
"fields": [
{
"name": "word",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "word_count",
"type": "INTEGER",
"mode": "NULLABLE"
},
{
"name": "corpus",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "corpus_date",
"type": "INTEGER",
"mode": "NULLABLE"
}
]
},
これは、最初は良く見えるかもしれませんが、あなたはbigquery-public-data.samples.shakespeare
のためにテーブル定義を見れば、あなたはその選択内のすべてのフィールドがあることに気づくでしょう:あなたは、そのクエリを分析する場合は、スキーマがこのように見えたことがわかりますテーブルの中で必要なので、selectのスキーマでnullableになるのはなぜですか?
いくつかのコンテキスト:
私はできるだけ正しいすべての値をエンコードしてみてくださいwher私はF#のタイププロバイダに取り組んでいます。つまり、オプションの型としてnullを指定でき、通常の型としてnullを指定することはできません。私がいつでもnull可能になると、nullableにできないフィールドの使用ははるかに面倒になります。
私は知っていますが、クエリアナライザは、変換された値がnullであるかどうかを調べることができます。アナライザーにそのことを確認させる「強制」と言う方法はありませんか? –
私はmssqlの土地から来ていると私はかなりあなたがそこに得ることを確信しています。 –
私は質問に取り組んでいるものにいくつかのコンテキストを追加しました。 –