加入两种不同格式的变量

时间:2013-04-10 17:13:55

标签: sql

我有一个问题,我在表X(格式:yyyy)中有一年的出生属性以及表Y中的出生日期属性(不同的格式:dd-mm-yyyy)。

它们都是varchar()类型属性。我想在这些属性上加入这些表。例如,我想选择同年出生的所有人的姓名。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

(更新)假设出生日期属性始终将最后四个字符作为年份,请尝试:

select...
from X
join Y on X.year_of_birth = substr(Y.date_of_birth, length(Y.date_of_birth)-3,4)

SQLFiddle here

答案 1 :(得分:0)

尝试使用DATE_FORMAT()

JOIN table2 ON DATE_FORMAT(table1.bday, "%Y") = DATE_FORMAT(table2.bday, "%Y")