【问题标题】:SQL query today [duplicate]今天的 SQL 查询 [重复]
【发布时间】:2017-01-10 16:16:35
【问题描述】:
$today = date('d/m/Y');

$query = "SELECT * FROM employee WHERE DATE=$today ";

我需要显示具有今天日期的结果。

【问题讨论】:

  • 好吗?你有什么问题?你试过什么?
  • 请标记 DBMS
  • 你的表结构是什么?如果是日期格式,则默认格式为Y-m-d。如果该列确实命名为日期,您可能需要将其放在反引号中 (`date` =)
  • 有一个原生的 MYSQL 函数,CURDATE() - 你可以用它来代替。
  • 如果你确实传递了日期,你需要引用它。

标签: php mysql sql


【解决方案1】:

如果MySQL 使用CURDATE()

$query = "SELECT * FROM employee WHERE DATE = CURDATE()";

【讨论】:

  • CURDATE() 不是 PHP 函数,因此最后一个示例不起作用 - 除非您自己编写函数。
  • @Qirel 谢谢,编辑:0
  • 你可以做$today = date("Y-m-d"); 并在查询中使用它,但它会变成一个字符串 - 需要引号:-)
【解决方案2】:

看起来你正在回答你自己的问题:) 你也可以随时调用 php 来获取日期,你不需要调用数据库两次:

<?php
$today = date("m.d.y");
?>

http://php.net/manual/de/function.date.php

【讨论】:

    【解决方案3】:

    如果是 MSSQL 你使用GETDATE()

    $query = "SELECT * FROM employee WHERE DATE=GETDATE()";
    

    如果是 Oracle 你使用SYSDATE

    $query = "SELECT * FROM employee WHERE DATE=SYSDATE";
    

    【讨论】:

    • 如何只显示从今天开始的数据?数据库中的日期格式为:10/01/2017 $today = date('d/m/Y'); $query = "SELECT * FROM 表"; $result = mysql_query($query); while($row = mysql_fetch_array($result)){ echo " " . $row['日期'] 。 “ ”。 $row['时间'] 。 “ ”。 $row['name'] 。 “ ”。 $row['code'] 。 " "; //$row['index'] } mysql_close(); ?> 谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多