当前位置: 首页 > news >正文

LightDB 24.1 UNION支持null类型匹配

背景介绍

在LightDB 24.1之前的版本,UNION null类型匹配会报错。

lightdb@postgres=# select null l_zqlbmx2          
union all
select null l_zqlbmx2          
union all
select sysdate l_zqlbmx;
ERROR:  UNION types text and timestamp without time zone cannot be matched
LINE 5: select sysdate l_zqlbmx;lightdb@postgres=# select null l_zqlbmx2
union all
select null l_zqlbmx2
union all
select 2 l_zqlbmx;
ERROR:  UNION types text and integer cannot be matched
LINE 5: select 2 l_zqlbmx;^

为了兼容Oracle数据库的使用,在LightDB24.1版本中,支持了UNION null 类型与其他类型的强转。
使用约束:

  1. 在Oracle模式下生效;
  2. null类型在LightDB中是text类型,如果匹配的类型无法强转成text类型,则UNION语句仍然会报错;

使用示例

  1. null 和 int
lightdb@oracle_test=# select null l_zqlbmx2 from dual
lightdb@oracle_test-# union all
lightdb@oracle_test-# select null l_zqlbmx2 from dual
lightdb@oracle_test-# union all
lightdb@oracle_test-# select 0 l_zqlbmx from dual;l_zqlbmx2 
-----------0
(3 rows)lightdb@oracle_test=# \gdescColumn   | Type 
-----------+------l_zqlbmx2 | text
(1 row)
  1. null和numeric
lightdb@oracle_test=# select null l_zqlbmx2 from dual
union all
select null l_zqlbmx2 from dual
union all
select 5.55::numeric l_zqlbmx from dual;l_zqlbmx2 
-----------5.55
(3 rows)lightdb@oracle_test=# \gdescColumn   | Type 
-----------+------l_zqlbmx2 | text
(1 row)
  1. null和oracle.date
lightdb@oracle_test=# select null l_zqlbmx2 from dual
union all
select null l_zqlbmx2 from dual
union all
select sysdate l_zqlbmx from dual;l_zqlbmx2      
---------------------2024-01-26 08:23:42
(3 rows)lightdb@oracle_test=# \gdescColumn   | Type 
-----------+------l_zqlbmx2 | text
(1 row)
  1. null和timestamp
lightdb@oracle_test=# select null l_zqlbmx2 from dual
union all
select null l_zqlbmx2 from dual
union all
select current_timestamp l_zqlbmx from dual;l_zqlbmx2           
-------------------------------2024-01-26 16:28:07.278097+08
(3 rows)lightdb@oracle_test=# \gdescColumn   | Type 
-----------+------l_zqlbmx2 | text
(1 row)
  1. null和varchar
lightdb@oracle_test=# select null l_zqlbmx2 from dual
union all
select null l_zqlbmx2 from dual
union all
select 'hello' l_zqlbmx from dual;l_zqlbmx2 
-----------hello
(3 rows)lightdb@oracle_test=# \gdescColumn   | Type 
-----------+------l_zqlbmx2 | text
(1 row)
http://www.lryc.cn/news/290536.html

相关文章:

  • 使用vs2022将.net8的应用程序发布为一个单独文件
  • 面试经典150题(93-95)
  • flask 实现token生成以及携带token请求接口
  • docker-compose部署单机ES+Kibana
  • gitee仓库项目迁移到gitlab仓库
  • 安装elasticsearch、kibana、IK分词器
  • 海外云手机运营Instagram攻略
  • 【lesson25】学习MySQL事务前的基础知识
  • SkyWalking+es部署与使用
  • js获取html中的img标签,图片标签,提取src属性并替换操作
  • 【力扣经典面试题】27. 移除元素
  • MicrosoftEdge浏览器打开网页出现“此网站被人举报不安全”问题时解决办法
  • 【PyCharm教程】PyCharm 安装、卸载和升级包
  • 蓝桥杯-常用STL(一)
  • SQL查询数据库环境(dm8达梦数据库)
  • DolphinScheduler + Amazon EMR Serverless 的集成实践
  • 【服务器APP】利用HBuilder X把网页打包成APP
  • vue3 组合式API获取子组件的属性和方法
  • [数据结构+算法] 给一棵树和一个sum,判断是否存在从root到叶子结点的path之和等于sum?
  • 非阿里云注册域名如何在云解析DNS设置解析?
  • 微服务-微服务Alibaba-Nacos注册中心实现
  • 多符号表达式的共同子表达式提取教程
  • Java 反射获取属性名、属性类型、属性值、判断属性类型
  • Docker私有仓库搭建
  • C语言第十三弹---VS使用调试技巧
  • AST反混淆实战-jsjiamiv7最高配置
  • colorThief+vite+react使用方法
  • Hive(15)中使用sum() over()实现累积求和和滑动求和
  • 2024年Java搭建面试题
  • 二维数组的学习