SQLite与strftime('%w',...)没有给出预期的结果

时间:2014-03-10 03:46:11

标签: sqlite strftime

我需要确定如果某个特定日期是星期日,请查找下一个星期日的日期。我在下面使用strftime函数来检查星期几,但我的case语句没有正确评估。例如2014-03-09(ISO格式)是星期日。我本以期望将以下SQLite案例语句评估为7。

select strftime('%w', date('2014-03-09'))  
, case when strftime('%w', date('2014-03-09')) = 0   then 7  else 0 end

产生

0|0    <-- Why isn't this 0|7?

我错过了什么?

我的SQLite版本是

SQLite 3.7.11 2012-03-20 11:35:50 00bb9c9ce4f465e6ac321ced2a9d0062dc364669

1 个答案:

答案 0 :(得分:2)

在您的查询中,您将字符串与整数进行比较,该整数将评估为false。尝试将其与字符串进行比较:

case when strftime('%w', date('2014-03-09')) = '0'