关于'::'案例类我有两个问题.
::可以用作
case head :: tail => ...
Run Code Online (Sandbox Code Playgroud)
它是如何工作的?意思是,Scala用于将List实例与:: case类匹配的流程究竟是什么?鉴于我有一个MyClass类,使用运算符op,我可以创建一个名为op的case类,我可以使用它作为:
case foo op bar => ....
Run Code Online (Sandbox Code Playgroud)
?
我需要找到有多少人在60天内提交(fil_dt)纳税申报表,120天内,180天内,提交期限结束日期(fpe)的180天,3年不同(2006年,2007年,2008年)
以下声明将给我所有年份我需要每年和每种可能性的计数..无论如何,我可以做到这一点没有2个查询?
SELECT YEAR(A.FPE) AS "YEAR"
,CASE
WHEN DAYS(A.FIL_DT) - DAYS(A.FPE) < 60 THEN '2 '
WHEN DAYS(A.FIL_DT) - DAYS(A.FPE) < 120 THEN '4 '
WHEN DAYS(A.FIL_DT) - DAYS(A.FPE) < 180 THEN '6 '
WHEN DAYS(A.FIL_DT) - DAYS(A.FPE) > 180 THEN '6+'
END AS "NBR MTH"
WHERE A.FPE BETWEEN '2006-01-01' AND '2008-12-31'
Run Code Online (Sandbox Code Playgroud)
我非常需要你的帮助
我有一个问题,希望你们能帮助我.
我有一个包含两列的表:
type // contains 2 different values: "Raid" and "Hold"
authorization // contains 2 different values: "Accepted" or "Denied"
Run Code Online (Sandbox Code Playgroud)
我需要创建一个返回如下值的视图:
TYPE:RAID ACCEPTED:5 DENIED:7
Run Code Online (Sandbox Code Playgroud)
基本上我想知道有多少值TYPE是"Raid",然后有多少是"已接受"和"被拒绝".
先感谢您!!
我需要将文件中每行的第一个字母更改为大写,例如
the bear ate the fish.
the river was too fast.
Run Code Online (Sandbox Code Playgroud)
会成为:
The bear ate the fish.
The river was too fast.
Run Code Online (Sandbox Code Playgroud)
如何将文件中每行的第一个字母更改为大写?
我有一份报告表,其中包括字段Case(唯一编号),ISR(个人安全报告 - 唯一编号)和YearsOld.
每个案例可以有多个ISR.我想计算年龄组中唯一案例的数量.
这个SQL给了我一个ISR数量的计数:
SELECT
COUNT(CASE WHEN `YearsOld` = -2) THEN 1 END) `No Report`,
COUNT(CASE WHEN `YearsOld` BETWEEN 0 AND 5) THEN 1 END) `0 to 5`
COUNT(CASE WHEN `YearsOld` BETWEEN 6 AND 12) THEN 1 END) `6 to 12`
FROM `Demographics`
Run Code Online (Sandbox Code Playgroud)
有没有办法修改这个来计算Cases这些年龄组的DISTINCT ?
我有两张桌子,
数据库1:
表格1:
Id -001(int)
名称-xxx(varchar)
男-0(位)
女1(位)
数据库2:
表2:
Id -1(int)
Ca.Name-yyy(varchar)
性别 - M或F(varchar)
这些是我的表.我想将数据库2,表2中的数据更新为database1,table1.所以我创建更新查询.但是我对性别领域有疑问
Select 'UPDATE T1
SET T1.MALE ='+ CASE WHEN r.Gender = 'M' THEN 0 ELSE 1 END
FROM T2 As r
Run Code Online (Sandbox Code Playgroud)
在下面的代码中,我主演的内容我怀疑如何在这里使用if语句.有谁理解纠正我的问题?
我在这里和其他地方看过很多类似的问题,我不知道如何推断他们对我需要的内容,所以我选择了我的方案.
基本上,我需要检查一行的日期是否在某个日期之前.日期,(这在我之前,尽管不喜欢系统,我无能为力)只是存储为一个数字,对应于一年中的天数.例如,1月1日是1月,2月1日是32等等...所以,通过将该数字添加到12/31 /来计算日期.我遇到的问题是,当我检查一个跨越新年的时期时,它会带回(例如)今年12月29日,而不是最后一年.我在SELECT中遇到了这个并且CASE语句工作正常.但是,在WHERE子句中,它没有按预期工作.在where子句中,我需要检查以确保它不是周末.(同样,代码早于我,我无法改变太多,遗憾的是)
所以,我现在在WHERE子句中有这个:
CASE
WHEN (dateadd(dd, t.periodid, '12/31/2013') > '01/24/2014') THEN AND (DATEPART(DW, convert(varchar, dateadd(dd, t.periodid, '12/31/2012'), 107)) NOT IN (1,7) OR t.periodid IS NULL)
WHEN (dateadd(dd, t.periodid, '12/31/2013') <= '01/24/2014') THEN AND (DATEPART(DW, convert(varchar, dateadd(dd, t.periodid, '12/31/2013'), 107)) NOT IN(1,7) OR t.periodid IS NULL)
END
Run Code Online (Sandbox Code Playgroud)
(即:如果日期大于该期间的最后一天,请将该数字添加到两年前并检查是否为周末.否则,将其添加到上一年的12/31并检查是否是周末.)
我认为我认为它失败了,因为我的情况应该更像是:
AND X = CASE.....
Run Code Online (Sandbox Code Playgroud)
但在这种情况下我不知道该把什么作为X.
我目前想做某种条件联合.给出以下示例:
SELECT age, name
FROM users
UNION
SELECT 25 AS age, 'Betty' AS name
Run Code Online (Sandbox Code Playgroud)
假设我想只在'用户'的计数> = 2时才结合第二个语句,否则不要将两者联合起来.
总之,如果表只有2个或更多值,我想附加一个表行.
我试图从单个CASE语句中获取多个列(在这种情况下为insuredcode,insuredname).
已尝试以下查询,但它将insuredcode和insuredname连接为一列.
从这样的CASE语句中返回两列的正确语法是什么?
select
case
when a.policyno[2] in ('E', 'W') then c.insuredcode || c.insuredname
else b.insuredcode || b.insuredname
end
from prpcmain a
left join prpcinsured_1 b on b.proposalno=a.proposalno
left join prpcinsured_2 c on c.proposalno=a.proposalno
where a.policyno in (select policyno from policyno_t);
Run Code Online (Sandbox Code Playgroud) case ×10
sql ×5
count ×2
if-statement ×2
bash ×1
class ×1
informix ×1
mysql ×1
scala ×1
select ×1
sql-server ×1
sql-update ×1
union ×1
where ×1