[英]Get time from a varchar(100) type with (HH:MM AM/PM) format
如何将字符串(“ RD / OT 07:30”)转换为时间。 我只知道如何将(“ 07:30 AM”)转换为时间。 下面的代码为我提供了一个空白数据。
$id = strtoupper($_POST['id']);
$query = mysql_query("SELECT STR_TO_DATE('RD/OT 07:30','%x %h:%i') as ScheduleIn FROM tbl_uploadedschedule") or die(mysql_error());
$res = mysql_fetch_assoc($query);
$r = $res['ScheduleIn'];
return($r);
您可以使用STR_TO_DATE(str,format)
函数转换时间格式:
SELECT STR_TO_DATE(`field_name`, '%h:%i %p')
FROM `table_name`
# this will convert '7:30 AM' to '07:30:00'
如果输出完整的DATETIME格式,则可以使用TIME(expr)
函数仅获取TIME部分。
演示 ( 不知道为什么sqlfiddle忽略TIME()函数;它在localhost上有效 )。
感谢您的回答,现在我得到STR_TO_DATE(),代码:
STR_TO_DATE('loginTime', '%h:%i %p') as Cast
这是错误的,因为它以字符串形式读取“ loginTime”,这是非法的时间格式。 正确的语法是:
STR_TO_DATE(loginTime, '%h:%i %p') as Cast
列名称中没有单引号。 霍雷!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.