数据仓库服务 GAUSSDB(DWS)-GaussDB(DWS)查询时结果不一致的常见场景和解决方法:数据库兼容模式
数据库兼容模式
场景:在数据库中查询空串结果不一致。
database1(TD兼容模式):
1 2 3 4 5 |
td=# select '' is null; isnull -------- f (1 row) |
database2(ORA兼容模式):
1 2 3 4 5 |
ora=# select '' is null; isnull -------- t (1 row) |
原因分析:
查询空串结果不同是由于不同数据库兼容模式下空串与null语法有差异导致。
目前, GaussDB (DWS)支持三种数据库兼容模式:Oracle、TD和MySql,不同兼容模式下语法和行为存在差异,兼容性差异说明可参考Oracle、Teradata和MySQL语法兼容性差异。
不同兼容模式下的database表现出不同的兼容性行为属于正常现象。可以通过查看select datname, datcompatibility from pg_database;确认数据库兼容性设置是否相同。
解决方法:
这种场景下只能将两个database的兼容性模式设置为一致的才能解决。Database的DBCOMPATIBILITY属性不支持ALTER,只能通过新建数据库的方法,在创建数据库时指定相同的DBCOMPATIBILITY属性解决。
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- 云数据库GaussDB(for MySQL)_兼容MySQL
- 什么是数据湖探索服务_数据湖探索DLI用途与特点