我有一个名为Driver的表。 date日期数据类型中有一个名为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);
我该怎么做?所以它可以寻找一年。
DESCRIBE驱动程序;
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)
答案 0 :(得分:1)
SELECT name
FROM Driver
WHERE YEAR(birthDate) IN (1950, 1960, 1970, 1980, 1990, 2000);
您需要使用YEAR()
功能仅比较年份。 AND
语法中没有IN (list)
。