从选择查询中的日期时间字段中删除时间

时间:2018-03-05 08:21:38

标签: php sql-server

我在我的网站上使用以下SQL查询,并且我希望在显示结果表时从datetime列'Date_Required'中删除时间:

$query = "SELECT Job_No, Sub_No, Visit_Status, Engineer, CAST(Date_Required AS DATE) FROM dbo.VSMF_SERVICE_VISITS WHERE Visit_Status = 'O' and Engineer='*AY' and Date_Required >= '2018-01-01 00:00:00.000' ORDER BY Date_Required DESC";

所以它显示为“2018年1月1日”,而不是“2018年1月1日12:00:00:000PM”

查询位于PHP文件中。

3 个答案:

答案 0 :(得分:3)

试试这个。

$query = "SELECT CAST(Date_Required AS DATE) as Date_Required FROM dbo.VSMF_SERVICE_VISITS WHERE Visit_Status = 'O' and Engineer='*AY' and Date_Required >= '2018-01-01 00:00:00.000' ORDER BY Date_Required DESC";

我希望这对你有用。如果要选择表中的所有列,请在select语句中逐一提及它们,如

SELECT id, name, CAST(Date_Required AS DATE) as Date_Required from ...

使用*会更棘手。

答案 1 :(得分:0)

如果您决定在SQL中执行此操作,那么请阅读此帖子(我花了几秒钟才能找到):

Best approach to remove time part of datetime in SQL Server

答案 2 :(得分:0)

如果您想使用PHP执行此操作,您可以使用多个选项,按substr或使用功能强大的DateTime class

剪切字符串的前10个字符
<?php
$dateTime = "2018-03-05 01:30:00";

echo substr($dateTime, 0 , 10);// option 1 
echo "\n";
$dateTimeObj = new DateTime($dateTime);// option 2 
echo $dateTimeObj->format("Y-m-d");

此输出

  

2018-03-05

     

2018年3月5日

live demo