适配过程中发现:如果某个 SQL 的查询条件是 some_col != '',那么返回的结果就会是空
于是做了如下简单实验: SQL
select
case
when ('1' != '') then '1'
when ('1' = '') then '2'
else 'else'
end as result_1,
('1' = '')::bool as result_2,
('1' != '')::bool as result_3,
('1' != '' or '1' = '') as always_true_1,
('1' != '1' or '1' = '1') as always_true_2
result:
{
"postgres": {
"result_1": "2",
"result_2": false,
"result_3": true,
"always_true_1": true,
"always_true_2": true
},
"gaussdb": {
"result_1": "else",
"result_2": null,
"result_3": null,
"always_true_1": null,
"always_true_2": true
}
}
完全不明白为什么 gaussdb 的逻辑是这样的,如果有人知道可以告诉我一下吗?
1
momocraft 7 小时 28 分钟前 信创要是和 postgre 一样 那创新体现在哪里 :doge:
|
2
yeqizhang 7 小时 20 分钟前 via Android
刚搜了,这个数据库认为''和 null 是一样的
|