比较不同表格中的DOB

时间:2014-02-28 06:12:30

标签: mysql sql oracle11g

所以我必须列出租户家庭中比租户本身年龄更大的人的名字。有两张桌子。租户和租户_家庭。我已经尝试比较两个日期,看看tenant_family表中的哪个DOB小于(意味着它们会更旧)租户表中的DOB。

这是我到目前为止所做的,但似乎是错误的。有人可以指导我找到正确的输出方式吗?

SELECT DISTINCT tenant_family.name
FROM TENANT_FAMILY, tenant
WHERE tenant_family.dob < tenant.TENANT_DOB;

1 个答案:

答案 0 :(得分:0)

使用DATE函数提取查询的日期部分以进行比较,如:

select distinct tenant_family.name from TENANT_FAMILY, tenant where DATE(tenant_family.dob) < DATE(tenant.TENANT_DOB);

如果您的dobTENANT_DOB未在数据库中存储为DATE数据类型,或者它们存储为DATETIME,那么您可能只提取日期部分使用功能:

select distinct tenant_family.name from TENANT_FAMILY, tenant where date_format(tenant_family.dob,"%y-%m-%d") < date_format(tenant.TENANT_DOB,"%y-%m-%d);

这可以在比较后给出正确的结果。