MySQL将字符串转换为日期时间格式

时间:2018-08-27 15:33:36

标签: mysql

在MySQL中,尝试将字符串转换为日期时间格式,但返回的是空值。

将下面的字符串转换为日期时间格式的正确方法是什么?

> select STR_TO_DATE('8/16/18 7:00 PM', '%c/%e/%Y %r');
+-------------------------------------------------+
| STR_TO_DATE('8/16/18 7:00 PM', '%c/%e/%Y %r')   |
+-------------------------------------------------+
| NULL                                            |
+-------------------------------------------------+

谢谢

1 个答案:

答案 0 :(得分:1)

您必须匹配格式,%r与7:00 PM不匹配

发件人:https://www.w3schools.com/sql/func_mysql_str_to_date.asp

<?php
// Create a cURL handle
$ch = curl_init('http://www.example.com/');

// Execute
curl_exec($ch);

// Check HTTP status code
if (!curl_errno($ch)) {
  switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
    case 200:  # OK
      break;
    default:
      echo 'Unexpected HTTP code: ', $http_code, "\n";
  }
}

// Close handle
curl_close($ch);
?>

如您所见,预计会有两位数字的小时和秒,而您没有。

您也与%Y期望的四位数年份不匹配...所以我将其更改为%y

尝试这样。

%r = Time in 12 hour AM or PM format (hh:mm:ss AM/PM)