【问题标题】:CAST(date AS DATE) date formatCAST(date AS DATE) 日期格式
【发布时间】:2014-10-08 11:26:07
【问题描述】:

我有以下 php 例程从表中提取值。我正在尝试将 DATE 类型从“2014-08-10”值转换为“20140810”值

Rtn:

//query
$query = mysql_query("SELECT CAST(date AS DATE), EtotalDay from MonthData group by 1 order by 1") 
OR die ('Query is invalid: ' . mysql_error());

//write the results
while ($row = mysql_fetch_array($query)) {echo  $row['CAST(date AS DATE)'] . "," . $row['EtotalDay'] . "\n";

我该怎么做?

【问题讨论】:

  • 执行select cast(...) as FormattedDate... 之类的操作。这样,当您执行 mysqli_fetch_array 时,您可以使用 $row['FormattedDate']。然后,您可以在 PHP 中进行格式化。另外,不要使用 mysql_ 函数。 Use mysqli_ functions.

标签: mysql date casting


【解决方案1】:

你应该使用

DATE_FORMAT(date, '%Y%m%d')

代替 CAST(),用一个列别名来完成字段的检索

$query = mysql_query("SELECT DATE_FORMAT(date, '%Y%m%d') formattedDate, EtotalDay from MonthData group by 1 order by 1") or die ('Query is invalid: ' . mysql_error());


//write the results
while ($row = mysql_fetch_array($query)) {echo  $row['formattedDate'] . "," . $row['EtotalDay'] . "\n";

查看手册,DATE_FORMAT

DATE_FORMAT(日期,格式)

根据格式字符串格式化日期值。

以下说明符可用于格式字符串。这 ”%” 格式说明符字符前必须有字符。

%d 日期,数字 (00..31)
%m 月份,数字 (00..12)
%Y 年份,数字,四位数

【讨论】:

  • 错过了那部分。给这个列起一个好听的名字,这样你就可以将它与 mysql_fetch_array 一起使用。我刚刚编辑了它。
猜你喜欢
  • 1970-01-01
  • 2018-06-15
  • 2021-01-23
  • 1970-01-01
  • 2023-01-03
  • 2013-05-20
  • 1970-01-01
  • 2021-11-14
  • 2016-05-22
相关资源
最近更新 更多