带有 NULL 的列不能用于 Bigquery 中的联合

2024-02-29

我正在工作中构建动态 sql 生成器,并且在联合查询方面遇到困难。 当我运行以下查询时:

SELECT NULL AS field;

列类型是BOOL默认情况下,它可以用于与整数类型列的联合,如下所示:

SELECT  field
FROM 
    (SELECT 21 AS field),
    (SELECT NULL AS field)

这将返回成功的结果。 但是当我在一个子查询上运行类似的字符串类型查询时,它失败了 这是查询失败的原因无法联合表:不兼容的类型。 “字段”:STRING “字段”:BOOL:

SELECT  field
FROM
    (SELECT 'hello' AS field),
    (SELECT NULL AS field)

推断类型和强制转换 null 值的最佳方法是什么。我的 sql 生成器应该在联合上使用多种数据类型,并且我认为 null 可以与所有类型一起使用。如果 null 不能与字符串和其他一些类型一起使用,是否有任何“超级”类型可以用来替换 null 字段?


BigQuery 分配NULL值是一个类型,默认情况下是一个整数。获取一个字符串NULL, 转变:

cast(null as string)

我不知道生成器是如何工作的,但您也许可以安排一个引用正确转换的值的查询:

with params as (
      select cast(null as string) as null_str
     )
select null_str
from params cross join
     . . .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 NULL 的列不能用于 Bigquery 中的联合 的相关文章

  • PostgreSQL Age() 函数:在不同月份登陆时出现不同/意外的结果

    今天 我在 PostgreSQL 9 6 中运行此查询时遇到了无法解释的结果 SELECT age 2018 06 30 2018 05 19 AS one age 2018 07 01 2018 05 20 AS two 两列的预期结果
  • 递归 SQL 给出 ORA-01790

    使用 Oracle 11g 第 2 版 以下查询给出 ORA 01790 表达式必须与相应表达式具有相同的数据类型 with intervals time interval AS select trunc systimestamp from
  • ClassCastException:java.util.Date 无法转换为 java.sql.Date

    你好 我的代码抛出了ClassCastException StackTrace 显示 java lang ClassCastException java util Date cannot be cast to java sql Date a
  • 使用按位函数查询 BIT 字段时,MySQL 不使用索引

    我的 MySQL 表中有一个 BIT 类型的字段 我想使用位值存储记录的状态 例如 1 status1 2 status2 4 status3 8 status4 每条记录可以同时具有多种状态 对于 status1 和 status3 该值
  • 模式更新后 jOOQ 生成的类的运行时验证?

    我用org jooq util DefaultGenerator在构建过程中生成 jOOQ 类来表示我的数据库模式 当应用程序运行时 架构预计会在应用程序不知情的情况下发生更改 此类更改可能与已生成的代码兼容 也可能不兼容 如何在运行时检测
  • 如何在 sqlalchemy 中创建基于文字的查询?

    我创建了一个函数来创建表达式 def test operator1 operation operator2 return literal column operator1 op operation operator2 现在当我用 test
  • 获取家庭成员

    假设以下家庭 其构建架构是 create table PersonConn child int parent int insert into PersonConn values 1 2 insert into PersonConn valu
  • SPARK SQL - 当时的情况

    我是 SPARK SQL 的新手 SPARK SQL 中是否有相当于 CASE WHEN CONDITION THEN 0 ELSE 1 END 的内容 select case when 1 1 then 1 else 0 end from
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 如何在 Google Translate Node.js 代码中设置 API KEY

    我正在尝试创建一个使用 Google Translate API 的 Node js 代码 我从以下代码中得到了谷歌文档 https cloud google com translate docs translating text 但是当我
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • 如何在 Visual Studio 中更改 Azure 数据库表的列顺序

    我整个下午都在寻找在 MS Visual Studio 2022 中重新排序 Azure 数据库表列的方法 没有运气 在其他应用程序中 可以通过拖动或剪切和粘贴轻松重新排列列 这里无能为力 此时 我什至不确定可以在 VS 中移动列 我只对
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • 插入触发器最终在分区表中插入重复行

    我有一个分区表 我认为 适当的INSERT触发器和一些限制 不知何故 INSERT语句为每个语句插入 2 行INSERT 一个用于父分区 一个用于相应的分区 设置简要如下 CREATE TABLE foo id SERIAL NOT NUL
  • 了解 SSMS 2008 中关系的更新和删除规则

    当我们定义外键约束时 我对 SQL Server 2008 Management Studio 中的更新和删除规则的含义感到困惑 我也没有找到相关的帮助文档 例如F1帮助 这是屏幕快照 如果有人能描述它们的含义并推荐一些相关文档来阅读 我将
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样

随机推荐

  • 整洁地替换为一个奇怪的字符

    我正在使用 Tidy 带有 PHP5 并启用 UTF8 输入 输出和字符编码 当我用清洁器清洁绳子时 nbsp 在其中 它用一个奇怪的字符替换它 我尝试过弄乱整洁的配置 但我尝试的任何操作似乎都不起作用 整理前 This is a test
  • GDB - 神秘的汇编代码是什么?

    Dump of assembler code for function main 0x0804833e lt 0 gt push ebp 0x0804833f lt 1 gt mov esp ebp 0x08048341 lt 3 gt s
  • 指标过滤器未分配给指标警报

    我正在使用 terraform 设置 aws cloudwatch 日志 以便在日志中出现错误时发送电子邮件 terraform 文件如下所示 resource aws cloudwatch log metric filter error
  • 对象配置必须是包含 yii2 和 mongodb 中“class”元素的数组

    登录或注册时出现错误 gt yii2 mongodb给出一个错误 MongoDB 与 yii2 的连接已完成 请帮我解决这个问题 main local php return components gt mongodb gt class gt
  • 如何在 Vuetify 行上将“光标”设置为“指针”?

    如何设置cursor pointer在 Vuetify 上
  • Xcode 4.x 中代码自动完成/语法突出显示的问题

    我在我的一个项目中的 Xcode 中遇到了一个相当奇怪的问题 当我开始编写代码时 我习惯了自动完成功能为我建议大量条目 由于某种原因 从昨天开始 它就停止工作了 我现在收到奇怪的自动完成条目 例如 and the Andy MyCompan
  • 找出按下的键的字符

    如果我向 KeyboardEvent KEY DOWN 添加一个侦听器 我可以找到 keyCode 和 charCode keyCode 根据键盘映射到不同的字符 根据帮助 charCode 同样没用 字符代码值是英文键盘值 例如 如果按
  • 如何使用 PHP 过滤 MySQL 中的数据(一对多关系)

    我想做的事 用户将使用发送一个值GET我会将值存储在名为的变量中 category1 现在包含值的所有行 category1将显示 这就像一个搜索系统 这是我的代码 stmt conn gt prepare SELECT tmdb movi
  • PHP 中有一个像样的 HTML-table-generator 类吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在 PHP 中寻找一个像样的类 它将生成复杂的 HTML 表格 即它应该支持 colspan rowspan 以及行 列和单元格的单独
  • 身份验证类型名称如何在 asp.net vnext 中注册

    因此 我正在更新 MongoDB 的开源 asp net 身份提供程序 以便与 Asp Net Identity 3 0 又名 vnext 配合使用 到目前为止 我已经能够注册提供程序并创建用户 但是在使用 SignInManager 时
  • 从缓存对象中转换 ValueTuple

    当我检查缓存以查看我的 ValueTuple 是否在缓存中时 我使用下面的代码 在这种情况下 返回的值为 null 即缓存中不存在 当代码运行时我得到object not set to instance of an object第一行错误
  • 如何测试 AccessViolationException 的处理

    我需要编写一个测试来验证我的代码是否可以处理 AccessViolationException 或任何其他 WIN32 损坏状态异常 CSE 该异常在不安全的上下文中发生 通常通过调用第 3 方库来处理 这一切都应该在 net 4 0 上使
  • 如何在 IPython 笔记本中播放本地视频?

    我有一个本地视频文件 avi 但可以转换 我想向客户端展示该文件 即它是私有的 无法发布到网络 但我不知道如何在 IPython 笔记本中播放它 经过一番谷歌搜索后 似乎 HTML5 视频标签可能是可行的方法 但我不知道任何 html 无法
  • 部署应用程序时如何避免安装“无限强度”JCE策略文件?

    我有一个使用 256 位 AES 加密的应用程序 Java 不支持该加密 我知道为了让它正常工作 我在安全文件夹中安装了 JCE 无限强度 jar 这对我作为开发人员来说很好 我可以安装它们 我的问题是 由于此应用程序将被分发 最终用户很可
  • 获取我在 Sql Server 中更新的行的 Id

    我正在尝试返回在 sql 中更新的行的 Id UPDATE ITS2 UserNames SET AupIp AupIp WHERE Customer ID TCID AND Handle ID ID SELECT ERROR AS Err
  • 为什么第一个 WCF 客户端调用很慢?

    我试图弄清楚为什么客户端应用程序启动后的第一个 WCF 调用比第二个调用花费更多的时间 我做了什么来测试 实现了简单的自托管 WCF 服务器和控制台客户端 服务器已预热 在运行测试之前我运行它并调用方法几次 绑定是basicHttpBind
  • 重新启动 erlang 进程并保留状态

    我有一个主管进程 它启动多个子进程 目前 当孩子死亡时 我会生成一个具有新 Pid 的新进程 这意味着我丢失了刚刚死亡的子进程的状态信息 我希望我的客户始终使用相同的标识符与子进程进行通信 尽管子进程可能会死亡并由主管重新启动 我正在考虑使
  • 无法将类型“UnsafePointer”的值转换为预期参数类型“UnsafePointer<_>”

    我正在 OS X 的 Swift 中使用外部 C 库 我得到一个值 cda 它在 C 中定义为double 它是一个指向双数组的指针 当导入到 Swift 中时 它会将类型识别为 UnsafeMutablePointer 我正在尝试将此指针
  • 如何在 mpandroidchart 中设置 x 标签和 y 标签的值

    我正在使用 mpandroidchart android 库 我正在实施折线图 这里我可以自己设置x和y标签吗 目前 它正在根据提供给图表的数据集添加值 您能对此提供一些想法吗 您必须在轴对象上使用格式化程序 有两种格式化程序 XAxisV
  • 带有 NULL 的列不能用于 Bigquery 中的联合

    我正在工作中构建动态 sql 生成器 并且在联合查询方面遇到困难 当我运行以下查询时 SELECT NULL AS field 列类型是BOOL默认情况下 它可以用于与整数类型列的联合 如下所示 SELECT field FROM SELE