假设我在数据库中有一个“日期时间”列。它的数据类似于“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=10
和year=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/