如何仅在一个月内在sql中搜索日期

时间:2013-09-23 05:12:56

标签: php mysql

我使用" description和date_stamp(格式为yyyy-mm-dd)"列进行了表假期。 示例值:

  • 第1行:新年,2013-12-31
  • 第2行:圣诞节,2013-12-25
  • 第3行:我的生日,2013-01-18

查询应该只显示所选月份?例如,如果我选择1月。应显示1月份的所有日期。

和我的HTML。我从1月到12月制作了一个月的保护箱

<select>
      <option selected value="1">January</option>
      <option value="2">February</option>
      <option value="3">March</option>
      <option value="4">April</option>
      <option value="5">May</option>
      <option value="6">June</option>
      <option value="7">July</option>
      <option value="8">August</option>
      <option value="9">September</option>
      <option value="10">October</option>
      <option value="11">November</option>
      <option value="12">December</option>
</select>

5 个答案:

答案 0 :(得分:5)

尝试以下查询

SELECT * 
FROM tablename
WHERE MONTH(date_stamp)=2;

答案 1 :(得分:1)

您可以使用MONTH功能执行此操作。

SELECT * FROM <table> WHERE MONTH(date_stamp) = '<month>';

答案 2 :(得分:1)

尝试

从MONTH(date-column-name)= 1

的表中选择date-column-name作为假日

返回1月份的日期。

答案 3 :(得分:1)

尝试:

SELECT * FROM your_table WHERE MONTH(date_stamp)='2'; //for month february

SELECT * FROM your_table WHERE RIGHT(LEFT(date_stamp,7),2) = '02'; //for february

答案 4 :(得分:1)

尝试

SELECT * 
FROM table_name 
WHERE MONTH(FROM_UNIXTIME(UNIX_TIMESTAMP('date_stamp')))= 'month(1-12)';