2

私はmysqlでこのようなdateformatリストを持っています

--------------------------
born_form   |   born_to
--------------------------
1994-10-04  |  2012-05-13
1987-05-03  |  2010-03-25

そして、私は1999年のみの年として入力しました

そして私はSQLクエリを使用しています

Select * from table_name where
"1999" BETWEEN born_from AND born_to

しかし、それは機能していません

4

6 に答える 6

8

を使用してYEAR()ドキュメントを参照)、次のようにします。

SELECT
  *
FROM
  table_name
WHERE
  1999 BETWEEN YEAR(born_from) AND YEAR(born_to)
于 2012-05-04T07:16:37.117 に答える
2

これはどう:

   Select * from table_name where
    year(born_from)>=1999 AND year(born_to)<=1999
于 2012-05-04T07:14:29.620 に答える
2
Select * from table_name
where born_to >= '1999-01-01' AND born_from <= '1999-12-31'

このクエリは、別の回答と比較してインデックスを使用する場合があります

于 2012-05-04T07:16:38.243 に答える
1

これで試してください

      Select * from table_name where "1999" BETWEEN YEAR(born_from) AND YEAR(born_to)
于 2012-05-04T07:16:15.930 に答える
0

これが例です

select * from table_name where year(born_from)> 1999 and year(born_to)<= 1999

于 2012-05-04T07:18:50.800 に答える
0

これなら使えると思いますが、

Select * from table_name where "1999" BETWEEN YEAR(born_from) AND YEAR(born_to)

于 2012-05-04T07:22:16.680 に答える