SQL 查询,其中() 日期的年份为 $year
我将数据库中的日期存储在数据类型列中。date
假设我有一列,我存储了这样的数据“2011-01-01”,“2012-01-01”,“2012-02-02”等。date
现在我需要使SQL仅选择等于date
2012
SELECT * FROM table WHERE date=hasSomehowYearEqualTo=2012
查询会是什么样子?
我将数据库中的日期存储在数据类型列中。date
假设我有一列,我存储了这样的数据“2011-01-01”,“2012-01-01”,“2012-02-02”等。date
现在我需要使SQL仅选择等于date
2012
SELECT * FROM table WHERE date=hasSomehowYearEqualTo=2012
查询会是什么样子?
不要使用 - 这将计算所有日期,即使是那些,你永远不会使用。它还将使索引的使用变得不可能 - 数据库层上的最坏情况。YEAR(date)
YEAR(date)
用
$sql="SELECT * FROM table WHERE `date` BETWEEN '$year-01-01' AND '$year-12-31'"
作为一般规则:如果要在常量计算和字段计算之间进行选择,请使用前者。