问个sql查询转到access里的查询语句

matinpetrov 2011-09-05 04:13:24
access的表结构和ms sql中表一致,但access很少用,不太熟悉函数,请帮忙改写一下

select 姓名,sum(datediff(n,开始时间,case when 结束时间='' then '2011-08-31 23:59:59' else 结束时间 end))/60 as 总时间,sum(cast(特殊 as int)) as 特殊时间,count(单据编号) as 次数 from logs where b_id like '201108%' group by 姓名


在ms sql里顺利执行, access中不行了
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanwza 2011-09-06
  • 打赏
  • 举报
回复
select 姓名,sum(datediff(n,开始时间,iif(结束时间='','2011-08-31 23:59:59',结束时间))/60 as 总时间,sum(cast(特殊 as int)) as 特殊时间,count(单据编号) as 次数 from logs where b_id like '201108%' group by 姓名

-晴天 2011-09-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fredrickhu 的回复:]
ACCESS里面有没有datediff函数?
[/Quote]
matinpetrov 2011-09-05
  • 打赏
  • 举报
回复
好像不行啊
--小F-- 2011-09-05
  • 打赏
  • 举报
回复
我就知道case when 相当于iif
--小F-- 2011-09-05
  • 打赏
  • 举报
回复
ACCESS里面有没有datediff函数?
AcHerat 元老 2011-09-05
  • 打赏
  • 举报
回复
楼主要去看看ACCESS等价的语法,不要直接套用SQL的,ACCESS里貌似是IFF,具体的查下吧!
-晴天 2011-09-05
  • 打赏
  • 举报
回复
try:
select 姓名,sum(datediff(n,开始时间,iif(结束时间='','2011-08-31 23:59:59',结束时间))/60 as 总时间,sum(cast(特殊 as int)) as 特殊时间,count(单据编号) as 次数 from logs where b_id like '201108%' group by 姓名

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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