达梦数据库默认NULL与空字符串不等价,而Oracle是默认NULL与空串等价的,当代码里以某个值为空来进行查询时,有可能判断的条件是NULL或空串,本来NULL与空串都算空但最后查出两种情况(如NULL不能把空串查询出来,空串不能把NULL查出来)
解决方法
1.查询条件把NULL及""都加上中间用||连接
2.直接改达梦数据库的配置
修改dm.ini 文件 COMPATIBLE_MODE = 2 ,重启服务即可
本文介绍了达梦数据库和Oracle在处理NULL与空字符串时的不同,默认情况下,达梦认为两者不等价。这可能导致在查询时遇到问题,无法正确匹配空值。为解决此问题,提出了两种解决方案:1) 在查询条件中同时包含NULL和空字符串,用逻辑运算符连接;2) 修改达梦数据库配置,通过设置COMPATIBLE_MODE=2使其行为与Oracle一致。通过这些方法,可以确保查询时正确处理空值情况。
达梦数据库默认NULL与空字符串不等价,而Oracle是默认NULL与空串等价的,当代码里以某个值为空来进行查询时,有可能判断的条件是NULL或空串,本来NULL与空串都算空但最后查出两种情况(如NULL不能把空串查询出来,空串不能把NULL查出来)
1.查询条件把NULL及""都加上中间用||连接
2.直接改达梦数据库的配置
修改dm.ini 文件 COMPATIBLE_MODE = 2 ,重启服务即可
https://eco.dameng.com/docs/zh-cn/faq/faq-dm-databse.html#DM-%E5%A6%82%E4%BD%95%E5%B0%86%E7%A9%BA%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%87%AA%E5%8A%A8%E8%BD%AC%E6%8D%A2%E4%B8%BA-NULL
3405
1万+
3227
3239

被折叠的 条评论
为什么被折叠?