当前位置:   article > 正文

达梦:使用or 、between...and、 and 条件查询视图报非法的时间日期类型数据_达梦 非法的时间日期类型数据

达梦 非法的时间日期类型数据

背景:源表中的时间字段存在不合理的数据格式,用户在视图中对数据使用case when 对时间字段进行了格式化的处理。查询视图的时候使用改字段进行条件查询,发现:使用or 、between...and、 and 条件查询视图报非法的时间日期类型数据,如图1;使用一个条件查询却能正常返回数据,如图2和图3。

图1

图2

图3

 解决办法:

在视图中使用HINT , CASE_WHEN_CVT_IFUN(8) 即可解决,查询正常。

--- 需完善

CASE_WHEN_CVT_IFUN

简介:是否将CASE WHEN查询表达式转换为一个内部函数进行处理。

属性:会话级,同时支持HINT指定

缺省值:9

对 CASE WHEN 查询表达式的优化处理。
0:不优化;
1:将 CASE WHEN 查询表达式转换为 IFOPERATOR 函数;
2:将 CASE WHEN 查询表达式转换为 IFOPERATOR 函数,且有限制地进行表达式重用;
4:CASE WHEN 查询表达式在运算符中转换为 OR 进行处理;
8:对于 CASE WHEN 查询表达式不允许 THEN…ELSE 表达式重用

支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

关于这个参数我本人还未能理解,只做这个问题和解决办法的记录。

欢迎交流指导~

~~~~~~~~~~~~~~~~~~~分享完毕~~~~~~~~~~~~~~~~~~~~~~~~~~

更多内容,请访问达梦社区地址:https:eco.dameng.com

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/1006419
推荐阅读
相关标签
  

闽ICP备14008679号