我有一个问题,表 X 中有出生年份属性(格式:yyyy)以及表 Y 中的出生日期属性(不同格式:dd-mm-yyyy)。
它们都是 varchar() 类型属性。我想在这些属性上加入这些表。例如,我想选择所有同一年出生的人的名字。我怎样才能做到这一点?
我有一个问题,表 X 中有出生年份属性(格式:yyyy)以及表 Y 中的出生日期属性(不同格式:dd-mm-yyyy)。
它们都是 varchar() 类型属性。我想在这些属性上加入这些表。例如,我想选择所有同一年出生的人的名字。我怎样才能做到这一点?
(更新)假设出生日期属性始终将最后四个字符作为年份,请尝试:
select...
from X
join Y on X.year_of_birth = substr(Y.date_of_birth, length(Y.date_of_birth)-3,4)
SQLFiddle在这里。
尝试使用DATE_FORMAT()
JOIN table2 ON DATE_FORMAT(table1.bday, "%Y") = DATE_FORMAT(table2.bday, "%Y")