1

我有一个很长的查询表之间的比较,一个表有这种格式:

"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
4

1 回答 1

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"

于 2013-09-29T14:27:39.113 回答