![](/img/trans.png)
[英]Laravel SQL select query where DateTimestamp contains this month and year
[英]SQL query where() date's year is $year
我将日期存储在我的数据库中的date
数据类型列中。
假设我有列date
,我存储数据如“2011-01-01”,“2012-01-01”,“2012-02-02”等。
现在我需要创建只选择date
等于2012
行的SQL
SELECT * FROM table WHERE date=hasSomehowYearEqualTo=2012
查询会是什么样的?
不要使用YEAR(date)
-这将计算YEAR(date)
所有日期,即使对于那些,你永远不会使用。 它还将使用不可能的索引 - 在DB层上最坏的情况。
采用
$sql="SELECT * FROM table WHERE `date` BETWEEN '$year-01-01' AND '$year-12-31'"
作为一般规则:如果您可以选择常量计算和字段计算,请使用前者。
查看MySQL的YEAR()
docs函数
SELECT * FROM table WHERE YEAR(date)=2012
从DATEPART(年,[日期])= 2012的表中选择*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.