GoForum › 🌐 V2EX
适配信创数据库的人的精神状态 be like
woodfizky ·
2026-01-13 21:23 ·
0 次点赞 · 0 条回复
适配过程中发现:如果某个 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 的逻辑是这样的,如果有人知道可以告诉我一下吗?
0 条回复
添加回复
你还需要 登录
后发表回复