我想从数据库中获取今天的记录。表中的列具有数据类型Datetime。因此,每当我尝试将记录与今天的日期进行比较时,与日期+时间进行实际比较,以便无法检索数据。如何仅比较日期?
答案 0 :(得分:2)
像这样进行日期比较:
where date(your_column) = date(now())
此方法从日期列和当前时间戳(由NOW()
表示)中提取时间戳的日期部分。
答案 1 :(得分:0)
将DateTime列投射到日期,如下面的代码
Select * from You Date Where Cast(date,DateTimeColumn)=Cast(Date,GetDate())
答案 2 :(得分:0)
你有两个相同的解决方案。
BETWEEN
子句。所以,查询应该看起来像 your_column between CURDATE() and CURDATE()+ INTERVAL 1 DAY
答案 3 :(得分:0)
要根据当前日期和时间检索记录,您需要php date()
功能。在这里,您将获得关于按当前日期插入和显示数据的简要信息。
if(isset($_GET['send'])){
$name = $_GET['name']."<br>";
$phone = $_GET['phone']."<br>";
date_default_timezone_set("Asia/Calcutta");//SET TIMEZONE
$current_time = date('h:i:sa');//STORE CURRENT TIME IN VAR
$current_date = date('Y-m-d');//STORE CURRENT DATE IN VAR
$insert = "INSERT INTO datewise (name, phone, date, time) VALUES ('$name','$phone','$current_date','$current_time')";
if($link->query($insert) === TRUE){
echo "inserted";
}
else
{
echo $insert."<br>".$link->error;
}
}
<table>
<tr>
<td>id</td>
<td>name</td>
<td>phone</td>
<td>date</td>
<td>Time</td>
</tr>
<?php
$presentDate = date('Y-m-d'); //THIS VAR STORES CURRENT DATE AND COMPARES IT WITH DATABASE
$disp = "SELECT * FROM datewise WHERE date='$presentDate'";
$disp_res = $link->query($disp);
while($row = $disp_res->fetch_assoc()){
?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['phone']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><?php echo $row['time']; ?></td>
</tr>
<?php
}
?>
</table>