我将日期存储在我的数据库中的date数据类型列中.
假设我有列date存储数据,如"2011-01-01","2012-01-01","2012-02-02"等.
现在我需要创建只选择date等于的行的SQL2012
SELECT * FROM table WHERE date=hasSomehowYearEqualTo=2012
查询会是什么样的?
Eug*_*eck 18
千万不要使用YEAR(date)-这将计算YEAR(date)所有日期,即使对于那些,你永远不会使用.它还将使用不可能的索引 - 在DB层上最坏的情况.
使用
$sql="SELECT * FROM table WHERE `date` BETWEEN '$year-01-01' AND '$year-12-31'"
Run Code Online (Sandbox Code Playgroud)
作为一般规则:如果您可以选择常量计算和字段计算,请使用前者.
查看MySQL 的YEAR() docs函数
SELECT * FROM table WHERE YEAR(date)=2012
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31198 次 |
| 最近记录: |