为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:使用Microsoft.EntityFrameworkCore.Dm执行查询通过跟踪出来的语句执行失败了以下附上语句:
SELECT CAST(COUNT() AS INT)
FROM LQMS.FlowScheme AS f
WHERE TRUE & CASE
WHEN f.DeleteMark = 0 THEN TRUE
ELSE FALSE END;
我在中间加上缺失的&符号就执行成功了以下附上语句:
SELECT CAST(COUNT(*) AS INT)
FROM LQMS.FlowScheme AS f
WHERE TRUE && CASE
WHEN f.DeleteMark = 0 THEN TRUE
ELSE FALSE END;
有大佬帮忙解释一下嘛 谢谢!
问题已处理!自己埋的坑。我自己扩展了一个and的拼接方法 当时使用的是EntityFramework并未发现问题 而当前使用的是Microsoft.EntityFrameworkCore需要使用AndAlso函数而非直接拼接
&在达梦中是按位与运算符,要求符号两边必须为整数数据类型;看语义,你这里是想使用逻辑与的作用(也即and),&&代表逻辑与,所以不报错。