
适配过程中发现:如果某个 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 小时 0 分钟前 信创要是和 postgre 一样 那创新体现在哪里 :doge: |
2 yeqizhang 6 小时 52 分钟前 via Android 刚搜了,这个数据库认为''和 null 是一样的 |