由于日期问题,带有大小写的查询似乎不起作用。在论坛上搜索,但找不到对我有帮助的特定答案。我的案子总是转到其他部分。由于日期格式错误,when部分似乎无法正常工作。 einddatum
(=结束日期)和vorigeeinddatum
(=上一个结束日期)是varchar()
。我使用str_to_date
进行转换。
select gezinssamenstelling , count(*) as aantal ,
case einddatum
when str_to_date(einddatum , '%d/%m/%Y') > date('28/2/2020' , '%d/%m/%Y') THEN datediff(str_to_date(einddatum , '%d/%m/%Y') , str_to_date(vorigeeinddatum , '%d/%m/%Y') )-365
else datediff(str_to_date(einddatum , '%d/%m/%Y') , str_to_date(vorigeeinddatum , '%d/%m/%Y') )-366
end as dagenuitstel from vv20199
where status = "5.geboekt"
group by gezinssamenstelling , dagenuitstel;
我的代码过去一直给出结果,但是总是-366天,因此它的注释跳过了when子句。我尝试了一些修复程序,但现在得到了:
错误1064:“ where”中的语法问题