我想要来自mysql的当前周数据,但问题是我的字段是varchar我如何得到数据
错误号码:1064
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 接近' YEARWEEK(CURDATE())是空的'在第3行
SELECT `E`.`event_id`
FROM (`tbl_events` as E)
WHERE YEARWEEK(date_format(str_to_date(E.event_end,'%m-%d-%Y'),'%Y-%m-%d')),YEARWEEK(CURDATE()) IS NULL
答案 0 :(得分:0)
在第二次)
调用之前,您只需要额外的yearweek()
,这应该在表达式的末尾。语法明智。
但是,我认为你有点过于复杂了:
SELECT `E`.`event_id`
FROM (`tbl_events` as E)
WHERE YEARWEEK(str_to_date(E.event_end,'%m-%d-%Y'))=yearweek(curdate())
在表达式的左侧,我从记录中获得一年中的一周。这应该等于本周的一周中的一周,这是表达式的右侧。