尝试使用SQL转换函数

时间:2016-10-15 15:52:19

标签: php mysql datetime

我刚开始使用convert功能。我正在尝试从我的表中缩短日期时间值。目前我的日期时间值看起来像这样2016-10-14 16:51:41,但我想让它看起来像mm / dd / yy。

我不知道这是否是正确的方法(不能因为它不起作用),但我使用convert函数生成了一个查询,然后使用{{获取数据1}}。

这是我正在使用的代码:

mysqli_fetch_array

$sql = "SELECT id, time, CONVERT(VARCHAR(11), time) as something FROM tableName"; $query = mysqli_query($db, $sql); $statusnumrows = mysqli_num_rows($query); // Gather data about parent pm's if($statusnumrows > 0){ while ($row = mysqli_fetch_array($query, MYSQLI_ASSOC)) { $time= $row["time"]; } } 是具有日期时间类型的列的名称。

提前致谢,获取建议/意见。

3 个答案:

答案 0 :(得分:2)

您应该在数据库中以适当的数据类型存储日期时间,例如日期时间 etc

我可以看到你正在使用PHP,如果你需要在某个界面(即HTML页面)中输出这个日期时间,你应该使用PHP函数来转换你需要的格式的日期。这是一种很好的做法

数据库应该存储数据,但格式化是前端问题。

strtotime()date()的简单示例:

$Date = "2016-10-15";
$newDate = date("m/d/Y", strtotime($Date));

您可以在PHP网站上阅读文档:strtotimedate

答案 1 :(得分:1)

如果2012+你可以使用格式(效率不高但提供其他一些可能性)

Declare @Date DateTime = GetDate()

Select UsingFormat     = Format(@Date,'MM/dd/yy')
      ,UsingConvert1   = convert(varchar(10),@Date,1)
      ,UsingConvert101 = convert(varchar(10),@Date,101)

返回

UsingFormat UsingConvert1   UsingConvert101
10/15/16    10/15/16        10/15/2016

答案 2 :(得分:0)

1格式的Convert函数中使用样式mm/dd/yy

select CONVERT(VARCHAR(20), [time],1) 
From yourtable

如果您想要mm/dd/yyyy格式,请使用101样式

select CONVERT(VARCHAR(20), [time],101) 
From yourtable

转换函数的MSDN链接,具有各种样式:CONVERT