拼接符“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 行记录)
相关推荐
数研小生15 分钟前
亚马逊商品列表API详解
前端·数据库·python·pandas
洛豳枭薰16 分钟前
MySQL 并行复制
数据库·mysql
无尽的沉默17 分钟前
Redis下载安装
数据库·redis·缓存
czlczl2002092529 分钟前
增删改查时如何提高Mysql与Redis的一致性
数据库·redis·mysql
打工的小王29 分钟前
MySql(二)索引
数据库·mysql
数据知道30 分钟前
PostgreSQL 性能优化:如何提高数据库的并发能力?
数据库·postgresql·性能优化
wengqidaifeng30 分钟前
数据结构(三)栈和队列(上)栈:计算机世界的“叠叠乐”
c语言·数据结构·数据库·链表
数据知道31 分钟前
PostgreSQL性能优化:内存配置优化(shared_buffers与work_mem的黄金比例)
数据库·postgresql·性能优化
静听山水34 分钟前
Redis核心数据结构
数据结构·数据库·redis
流㶡43 分钟前
MySQL 常用操作指南(Shell 环境)
数据库