数据类型不一致: 应为CHar, 但却获得 NUMBER

wzy9113 2011-09-15 02:06:22
SELECT DISTINCT
A.REMARKS,
case when (select count(DOC_NO) from BULK_BUS_INVOICE_REFUSE where DOC_NO = A.RECINVOICE_NO) > 0 then '退回'
when (select count(DOC_NO) from BULK_BUS_INVOICE_REFUSE where DOC_NO = A.RECINVOICE_NO) <=0 then (select count(DOC_NO) from BULK_BUS_INVOICE_REFUSE where DOC_NO = A.RECINVOICE_NO) end
FROM BULK_BUS_RECINVOICE A
WHERE 1=1 ORDER BY A.RECINVOICE_NO DESC


sql语句是这个,为什么提示数据类型不一致, 应为CHar, 但却获得 NUMBER

我想判断 (select count(DOC_NO) from BULK_BUS_INVOICE_REFUSE where DOC_NO = A.RECINVOICE_NO) > 0
查询显示的时 (select count(DOC_NO) from BULK_BUS_INVOICE_REFUSE where DOC_NO = A.RECINVOICE_NO)的个数
为什么?
...全文
1560 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilong19861126 2012-08-14
  • 打赏
  • 举报
回复
不错,谢谢
lchy110 2011-09-15
  • 打赏
  • 举报
回复
这样效率应该很低吧

错误提示你看 case 第一个when 你满足就返回 字符串"退回" 第二个 你就返回 查询的count 两者类型不一致

你可以将第二个 when 的值 cast为varchar

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧