假设我们有以下情况:
Jen Ninja(一个名字很棒的开发人员)喜欢看下面的列表视图过滤器:
所有打开的案例分配给Jen Ninja,状态为Active
Jen Ninja被分配了一堆案例(其中一些是bug,其中一些是功能).
Jen看着她的过滤列表并看到它们.没问题.
Jen Ninja敲打了她的所有案件,然后他们被分配到各种QA人员.
在发布前两天,Jen的老板在这里问道:"你工作的所有东西是什么?"
Jen如何更改她的过滤器以便她可以放心地回答这个问题?
我需要在Select中添加一个Case来检查我添加到视图中的数据是否为NULL,在这种情况下我希望它只是输入零,或者不是.
一般哪个更好用?:
case n
when 'foo'
result = 'bar'
when 'peanut butter'
result = 'jelly'
when 'stack'
result = 'overflow'
return result
Run Code Online (Sandbox Code Playgroud)
要么
map = {'foo' => 'bar', 'peanut butter' => 'jelly', 'stack' => 'overflow'}
return map[n]
Run Code Online (Sandbox Code Playgroud)
更具体地说,我何时应该使用case语句,何时应该只使用哈希?
我有以下代码,其中有一个小错误,case语句返回值"other",即使第一个"when"语句计算为true并应返回"boats".
我一直在看这个年龄,一定是小事.
CATEGORIES = {:boats => [1, 2, 3, 4, 5, 6],
:houses => [7, 8, 9, 10],
:other => [11,12,13,14,15,16]
}
category_id = 1
category = case category_id
when CATEGORY_CLASSES[:boats].include?(category_id); "boats"
when CATEGORY_CLASSES[:houses].include?(category_id); "houses"
else "other"
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
case..when..else当你需要将标准与单个变量匹配时,Ruby有一个相当强大的构造.在不简单地嵌套case语句的情况下,将标准与多个变量匹配的"规范"方法是什么?
在数组中包装多个变量(如[x, y])并与之匹配并不等效,因为Ruby不会将魔法case ===运算符应用于数组的元素 ; 运算符仅适用于数组本身.
我将继续前进并回答社区维基的回答,并在这个问题上进行了(击败).
我正在尝试在我的SQL查询中使用CASE语句,并且它的工作方式与我认为的方式不同.
基本上,我需要实现三个场景,并使用日期字段,例如我有以下数据:
id | date_activated
1 | 2011-10-10 07:00:06
2 | 2011-03-12 10:00:00
3 | 2011-11-27 18:10:36
4 | 2010-01-25 14:30:43
5 | 0000-00-00 00:00:00
Run Code Online (Sandbox Code Playgroud)
使用以下SQL:
select id,
case date_activated
when date_activated > '2011-11-23 18:30:00' then 'after'
when date_activated > '2010-01-20 00:00:00' then 'before'
else 'not yet'
end as date_note
from table1
Run Code Online (Sandbox Code Playgroud)
应该带出:
id | date_activated | date_note
1 | 2011-10-10 07:00:06 | before
2 | 2011-03-12 10:00:00 | before
3 | 2011-11-27 18:10:36 | after
4 | 2010-01-25 14:30:43 …Run Code Online (Sandbox Code Playgroud) 我需要帮助为视图编写case语句.基表有2列,我将引用:'Stage'和'YesNo'.
如果Stage列为1,并且YesNo列为1,我需要CASE语句在视图中将其显示为"No" 如果Stage列为1,YesNo列为0,我需要CASE语句在视图中将其显示为"是".如果Stage列为1,YesNo列为NULL,我需要CASE语句在视图中将其显示为NULL.如果舞台不是1,我需要YesNo列在视图中显示为NULL.
到目前为止,这是我的逻辑,我认为是正确的,但是当我尝试运行它时,我得到关于'AS'这个词的语法错误.有什么建议?
CASE
WHEN a.Stage = 1 and a.YesorNo = 1 THEN 'No'
ELSE WHEN a.Stage = 1 and a.YesorNo = 0 THEN 'Yes'
END AS NewViewColumn
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码来计算该期间和工厂的最近12个月期间所有行的计数,请参阅下面的输出.因此,例如使用以下输出,而不是当前包含该期间总计的12个月列,我希望计数使用201001-201101之间的时间段(请注意,我的示例仅针对下面的数据集和12个月列需要适应每个时期).
Period Plant Stock Special MonthTotal 12Months
201101 0EA0 27 0 27 27
201101 0EB0 35 2 37 37
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,我的代码只是带来了当前时期的计数,而不是通过最近12个月的计算.请有人帮忙吗?
select
convert(varchar(6),dateadd(mm,0,P.Dt),112) as Period,P.Plant,
Sum(Case When Left(Upper(Material),2) = 'ZZ' then 1 else 0 end) as Stock,
Sum(Case When Left(Upper(Material),2) <> 'ZZ' then 1 else 0 end) as Special
,Count(*) as MonthTotal,Sum(Case When
convert(varchar(6),dateadd(mm,0,P.Dt),112)
Between
convert(varchar(6),dateadd(mm,-12,P.Dt),112)
And
convert(varchar(6),dateadd(mm,0,P.Dt),112) Then 1 else 0 End
)as [12Months]
from
iesaonline.dbo.DS_POs as P where
Plant IN(
Select Client From METRICS.DBO.CO_001_Plants_090_Final
where CustGrp = …Run Code Online (Sandbox Code Playgroud) 如果Make不等于'0',我想只使用where条件.这就是我尝试过的.这是存储过程的片段.查询仅在Make不为0时有效.当它为'0'时失败.
这不是空检查.@Make是一个varchar.如何实现它要么是'0'要么是一个字符串,例如'mazda'.
select *
from In_Inventory
where
and Make = case
when @Make != '0'
Then @Make
end
Run Code Online (Sandbox Code Playgroud) 我无法找到以下解释.我已经制作了这个测试脚本以解决我之前的问题.
xquery version "3.0" ;
declare default function namespace 'local' ;
declare function local:is-img-only( $element as element() ) as xs:boolean {
($element/child::*[1] instance of element(img))
and (fn:not($element/child::*[2]))
and (fn:normalize-space($element) = '')
} ;
let $in-xml := <myxml>
<p id="1">
<img id="1"/>
</p>
<p id="2">
<img id="1"/>
hello
</p>
<p id="3">
<img id="1"/>
</p>
<p id="4">
<blockquote>hello</blockquote>
<img id="1"/>
</p>
<p id="5">
<img id="1"/>
<img id="2"/>
</p>
</myxml>
Run Code Online (Sandbox Code Playgroud)
然后,使用以下内容if then else:
for $p in $in-xml/p
return if …Run Code Online (Sandbox Code Playgroud)