【问题标题】:Convert date format in SQL [duplicate]在 SQL 中转换日期格式 [重复]
【发布时间】:2015-03-16 17:09:18
【问题描述】:

我在 php (dd/mm/yyyy) 中有一串日期,我想将其转换为 yyyy-mm-dd 格式。

我试过了:

UPDATE `table` SET `DATE_VAR` = convert(datetime,'19/03/2015', 121) WHERE `ID`=160

你能帮帮我吗?

【问题讨论】:

  • 不要将日期作为文本存储在您的数据库中。使用日期格式。这看起来像 mssql 查询而不是 mysql。
  • 另请参阅 STR_TO_DATE,以及更一般的手册。
  • Ronak Patel 解决方案很好,PHP 很简单!
  • 你混合使用 MSSQL 和 MySQL。你用哪一个?
  • 您真的,真的,真的应该将您的日期存储为DATE 列,并将格式留给您的应用程序。存储为字符串的日期几乎没有用,因为它们不能被依赖,你的日期验证为零并且你不能计算差异。

标签: php mysql sql datetime format


【解决方案1】:

如果您想在PHP 中进行日期转换。那么其中一种解决方案可能是:

$originalDate = str_replace('/', '-', "19/03/2015");
$newDate = date("Y-m-d", strtotime($originalDate)); // This is your mysql compatible date...

您可以在查询中使用$newDate 变量。

UPDATE `table` SET `DATE_VAR` = '$newDate' WHERE `ID`=160

【讨论】:

  • 哦,谢谢,它更简单而且有效。
【解决方案2】:

面向对象的风格:

echo DateTime::createFromFormat('d/m/Y', $date)->format('Y-m-d');

其中$datedd/mm/yyyy 格式的日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-30
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多