拼接符“II”在Oracle和HGDB中使用的差异

文章目录

环境

系统平台:Microsoft Windows (64-bit) 10

版本:5.6.4

症状

如下情况所示:在Oracle中和HGDB中使用拼接符"||"结果不一致。

Oracle:

sql 复制代码
SQL> select null||'123' from dual ;

NUL
--------------------------------
123

HGDB:

sql 复制代码
highgo=# select null||'123' from dual;
 ?column?
--------------------------------

(1 行记录)

问题原因

在Oracle中和HGDB中使用拼接符"||"拼接NULL时,结果不一致。

解决方案

解决方案一:

使用concat()函数进行拼接,取代"||",如下所示:

sql 复制代码
highgo=# select concat(null,'123');
 concat
--------
 123
(1 行记录)

解决方案二:

使用coalesce()函数将null转换为'',如下所示:

sql 复制代码
highgo=# select coalesce(null,'')||'123';
 ?column?
----------
 123
(1 行记录)
相关推荐
数据库百宝箱2 分钟前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp1 小时前
NoSql数据库设计心得
数据库·nosql
睡不醒男孩0308233 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love3 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob4 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q4 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发4 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹4 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
Albert Edison5 小时前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
云计算磊哥@5 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发