在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 |
+-------------------------------------------------+
谢谢
答案 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)