首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >请在陈述时协助办案

请在陈述时协助办案
EN

Stack Overflow用户
提问于 2015-07-17 01:59:36
回答 1查看 72关注 0票数 0

我想在我的查询中创建case语句时得到一些帮助。

我有下面的查询,我正在试图修改

代码语言:javascript
复制
CASE    WHEN Hotelexpenses between CONVERT(varchar(10), getdate(),121)  and convert(varchar(10),DATEADD(mm,6,getdate()),121) 
                and engagementexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
                and travelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
        THEN 'Yes'
        else 'NO' 
End As combinedflag

我想添加附加条件,例如旅馆费用,当旅馆费用>100.00美元时,如果招待费> 100.00,旅行费用>100.00,如果除我的案例陈述之外,上述任何条件都满足了,那么标志应该是‘是’,否则‘否’作为ABC结束。

现在,在类似条件的情况下,只满足酒店费用,而不满足其他两项,如果hotelexpenses>100.00和其余两项都小于100.00,则标志应该是“是”。(说得通吗?)但是,如果所有三个匹配日期标准,但不符合金额,那么标志应该是否。

因此,我的主要问题是如何在语句中使用带有‘和’&‘或’的语句时使用case。有可能吗?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2015-07-17 04:51:47

你在找这个吗?-

代码语言:javascript
复制
CASE    WHEN Hotelexpenses between CONVERT(varchar(10), getdate(),121)  and convert(varchar(10),DATEADD(mm,6,getdate()),121) 
                and engagementexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
                and travelexpenses between CONVERT(varchar(10), getdate(),121) and convert(varchar(10),DATEADD(mm,6,getdate()),121)
                and (hotelexpenses > 100 OR engagementexpenses > 100 OR travelexpenses > 100) 
        THEN 'Yes'
        else 'NO' 
End As combinedflag
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31467324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档