0

我有一张名为 Driver 的表。在日期数据类型中有一个名为birthDate 的列。输入为“1995-05-18”YEAR-MONTH-DATE

我需要查询以列出所有出生于 1950、1960、1970、1980、1990 和 2000 年的司机。

这就是我的想法。

SELECT name FROM Driver WHERE birthDate IN (1950, 1960, 1970, 1980, 1990, 2000);

我该怎么做呢?所以它可以寻找一年。

描述驱动程序;

Driver
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| name      | varchar(40) | YES  |     | NULL    |                |
| birthDate | date        | YES  |     | NULL    |                |
| id        | int(11)     | NO   | PRI | NULL    | auto_increment |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
4

1 回答 1

1
SELECT name
FROM Driver
WHERE YEAR(birthDate) IN (1950, 1960, 1970, 1980, 1990, 2000);

您需要使用该YEAR()功能仅比较年份。并且没有语法ANDIN (list)

于 2013-06-11T02:01:10.383 回答