是否存在可以在Oracle和PostgreSQL数据库(包含相同数据)上执行的(SQL,事务或任何其他)查询(或查询序列),但返回的结果不同?
答案 0 :(得分:1)
两个数据库中的空处理都会有所不同
SELECT 123||456
Oracle将返回123456(返回数据类型为字符串)
SELECT null || 456
PostgreSQL将返回null
表tst具有以下提到的字段 x int y varchar z日期
select coalesce(x, '1000') from tst;
答案 1 :(得分:0)
TRUNC
函数在Postgres和Oracle中为数字返回不同的结果。
Postgres
create table tab_name as select 20 as col_name ;
select trunc(col_name) from tab_name;
trunc
-----
20.0
文档:http://www.postgresqltutorial.com/postgresql-trunc/
Oracle
create table tab_name as select 20 as col_name from dual;
select trunc(col_name) as trunc from tab_name;
TRUNC
-----
20
文档:https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions200.htm