php - 从日期时间列获取数据

标签 php mysql datetime select

假设我在数据库中有一个“日期时间”列。它的数据类似于“2010-10-01 09:12:00”。 除此之外,我想制作一个搜索页面,其中包含:

<select id="month" name="month">
       <option value="01">01</option>
       <option value="02">02</option>
       ...
</select>
<input type="text" id="year" name="year">

如果我选择month=10year=2010,我该如何获取数据?

最佳答案

SELECT * 
FROM   your_table 
WHERE  MONTH(your_date) = '10' AND YEAR(your_date) = '2010';

请注意,上述内容将无法在日期列上使用索引(如果存在)。要使用索引,您必须使用如下内容:

SELECT * 
FROM   your_table 
WHERE  your_date >= STR_TO_DATE(CONCAT('2010', '-', '10', '-01'), '%Y-%m-%d') AND
       your_date < STR_TO_DATE(CONCAT('2010', '-', '10', '-01'), '%Y-%m-%d') + INTERVAL 1 MONTH;

关于php - 从日期时间列获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870066/

相关文章:

PHP、MySQL 统计

php - 如何将 SQL 语句的返回结果存储在 PHP session 变量中

具有数据透视表和多个连接的 Mysql 查询

php - 将人类友好的日期转换为毫秒

php - 在 xampp 上安装 zend 框架

php - Youtube API - 提取视频 ID

php - 标签和内容的搜索算法

php - 使用 SQL 从不同表中搜索表单

Python - 将 24 个字符的人类可读日期格式(如 'Tue May 16 04:10:55 PDT 2017')转换为 yyyy-mm-dd?

php - 当用作方程的一部分时,PHP DateTime Difference 的格式化问题