我有一个很长的查询,表之间有比较,一个表有这种格式:
"Mon, 23 Sep 2013 07:00:00 GMT"
另一张表有这种格式:
"2013-09-23"
如何进行查询,基本上可以执行
SELECT * from table1, table2
WHERE table1.date = table2.date
这样的东西?
select column1, column2, DATE_FORMAT(STR_TO_DATE(table2.`column2`,'%a, %d %m %Y %I:%i:%s'),'%Y-%m-%d') as convert_date
FROM table1, table2
答案 0 :(得分:1)
鉴于这两个日期属于同一时区,您可以这样做:
SELECT
something
FROM
longformat,
shortformat
WHERE
STR_TO_DATE(longformat.date,"%a, %d %b %Y") =
STR_TO_DATE(shortformat.date, "%Y-%m-%d");
其中longformat包含格式为"Mon, 23 Sep 2013 07:00:00 GMT"
的日期,而shortformat包含格式为"2013-09-23"
的日期。