能不能在蜂巢里找回上周六的约会。
需要这种格式的输出,即"2014-11-01“。
无论何时运行查询,它都必须返回上星期六的日期。
发布于 2014-11-04 13:55:45
执行此操作
select CASE
WHEN from_unixtime(unix_timestamp(),'EEEE')="Friday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-5)
WHEN from_unixtime(unix_timestamp(),'EEEE')="Thursday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-4)
WHEN from_unixtime(unix_timestamp(),'EEEE')="Wednesday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-3)
WHEN from_unixtime(unix_timestamp(),'EEEE')="Tuesday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-2)
WHEN from_unixtime(unix_timestamp(),'EEEE')="Monday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-1)
WHEN from_unixtime(unix_timestamp(),'EEEE')="Sunday"
THEN Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),0)
ELSE Date_add(CAST(from_unixtime(unix_timestamp()-1*60*60*24,'yyyy-MM-dd') as String),-6)
END
from fun;输出
2014-11-01发布于 2016-10-14 09:57:17
下面的查询将解决您的问题:
SELECT date_sub(CURRENT_DATE, cast(from_unixtime(unix_timestamp(), 'u') AS int) + 1);发布于 2017-05-06 08:10:16
丹尼拉·甘查尔是对的。这是上个星期找到星期六最聪明和最快的方法。
选择date_sub(from_unixtime(unix_timestamp()),cast(from_unixtime(unix_timestamp(),'u')作为int) + 1);
https://stackoverflow.com/questions/26728701
复制相似问题