php - SQL 查询 where() 日期的年份是 $year

标签 php sql

我将数据库中的日期存储在date数据类型的列中。

假设我有一个 date 列,我在其中存储“2011-01-01”、“2012-01-01”、“2012-02-02”等数据。

现在我需要编写 SQL,仅选择 date 等于 2012 的行

从表中选择 * WHERE date=hasSomehowYearEqualTo=2012

查询会是什么样的?

最佳答案

不要不要使用YEAR(date) - 这将计算所有日期的YEAR(date),即使是那些您从未使用过的日期。它还将不可能使用索引——数据库层上的最坏情况。

使用

$sql="SELECT * FROM table WHERE `date` BETWEEN '$year-01-01' AND '$year-12-31'"

一般规则:如果您可以在常量计算和字段计算之间进行选择,请使用前者。

关于php - SQL 查询 where() 日期的年份是 $year,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186741/

相关文章:

java - 为什么它说它是一个字符串?

sql - 根据计数更新

sql - PostgreSQL 选择时间段内的最大值

MySQL - 从表中选择具有两列匹配的行。如果不存在,则选择一列的行

javascript - WordPress jQuery 将值发送到数据库

php - 在 MYSQL 中连接字符串

sql - 如何在不访问源代码的情况下确定 Oracle 查询?

C# 重用 SQLCommand

PHP 函数循环检查数据库中是否存在字符串

php - 我应该增加 PHP memory_limit 以匹配我的 VM memory_limit 吗?