环境
系统平台:Microsoft Windows (64-bit) 10
版本:5.6.4
症状
如下情况所示:在Oracle中和HGDB中使用拼接符“||”结果不一致。
Oracle:
SQL> select null||'123' from dual ;
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 行记录)
1435

被折叠的 条评论
为什么被折叠?



