文章目录
- 环境
- 症状
- 问题原因
- 解决方案
环境
系统平台:Microsoft Windows (64-bit) 10
版本:5.6.4
症状
如下情况所示:在Oracle中和HGDB中使用拼接符“||”结果不一致。
Oracle:
SQL>selectnull||'123'fromdual;NUL--------------------------------123HGDB:
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行记录)