【发布时间】:2012-10-20 06:51:43
【问题描述】:
在users 表中,我有一个名为dob 的字段,它以这种格式存储用户的出生日期:
1959-04-02
无论如何,我想选择所有 18 岁和 19 岁的用户。这是我的查询:
SELECT *
FROM `users`
WHERE dob BETWEEN '1993-10-30' AND '1994-10-30'
但它似乎只选择了大部分 18 岁的孩子和一些(但不是全部)19 岁的孩子。我在数据库中有一堆测试用户,18 岁和 19 岁的人数相等。然而,这个查询产生了大约 90% 的 18 岁和大约 10% 的 19 岁。为什么?
【问题讨论】:
-
您的字段是日期字段对吗?不是字符串?
-
这样做:SELECT * FROM
usersWHERE dob >= '1993-10-30' AND dob -
@kidz 同样,我认为问题是由于 Norla 提到的问题。