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);

どうすればいいですか?年を探すことができます。

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)
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 に答える