【问题标题】:mysql php pdo select a part of row value date recordmysql php pdo 选择行值日期记录的一部分
【发布时间】:2015-09-21 04:20:40
【问题描述】:

我想选择数据库中记录的一部分。我要选择的记录是日期。

记录日期是这种格式07/02/2015。 我想要一个选择选项,我可以将年份和月份的选项用作搜索的参数。我想知道 ff 的选择查询。

  1. 如何从记录中选择特定年份(年度报告)

    我想选择数据库中当前年份或 2014 年的所有记录。

  2. 我如何从记录中选择一个特定的月份(月度报告)

    我想选择数据库中当前月份和当前年份或 X 个月和 X 年的所有记录

【问题讨论】:

  • 能否提供一个数据库表结构的例子?
  • 我有一列是此列中的日期我想选择一个特定的年份或特定的月份我在下面有答案,我正在尝试它们

标签: php mysql sql-server date pdo


【解决方案1】:

使用BETWEEN关键字

SELECT * FROM tableName WHERE dateCol BETWEEN '01-01-2014' AND '31-12-2014';

供参考 http://www.w3schools.com/sql/sql_between.asp

Select * FROM table WHERE date between two selected dates

【讨论】:

    【解决方案2】:

    请尝试

    SELECT * FROM TABLENAME where YEAR(DATE_FORMAT(STR_TO_DATE(COLNAME, '%d/%m/%y'), '%Y-%m-%d'))  = '2014'
    
    SELECT * FROM TABLENAME where MONTH(DATE_FORMAT(STR_TO_DATE(COLNAME, '%d/%m/%y'), '%Y-%m-%d'))  = x
    

    【讨论】:

    • 我应该更改 DATE_FORMATSTR_TO_DATE 我总是得到 0 行数
    • 请发布您尝试执行的 sql 查询。
    • $stmt = $dbh->prepare("SELECT * FROM date_tbl where YEAR(DATE_FORMAT(STR_TO_DATE(date_filed, '%d/%m/%y'), '%Y-%m- %d')) = :年"); $stmt->bindValue(':year', $year, PDO::PARAM_STR);
    猜你喜欢
    • 1970-01-01
    • 2016-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多