ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

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

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

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

症状

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

Oracle:

SQL>selectnull||'123'fromdual;NUL--------------------------------123

HGDB:

highgo=# select null||'123' from dual;?column?--------------------------------(1行记录)

问题原因

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

解决方案

解决方案一:

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

highgo=# select concat(null,'123');concat--------123(1行记录)

解决方案二:

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

highgo=# select coalesce(null,'')||'123';?column?----------123(1行记录)
返回列表