无法在MySQL中将字符串转换为时间
下面是一个查询,我想在其中转换一个字符串,该字符串是在将三个字段连接到时间后形成的:无法在MySQL中将字符串转换为时间,mysql,datetime,Mysql,Datetime,下面是一个查询,我想在其中转换一个字符串,该字符串是在将三个字段连接到时间后形成的: SELECT STR_TO_DATE( CONCAT(session_date," ",session_start_time," ",time_format), '%Y-%M-%e %h:%i %p' ) as u_date FROM sessions session\u date是一个日期类型字段,包含值YYYY-MM-DD和session\u start\u time是一个varchar,它保存如
SELECT STR_TO_DATE(
CONCAT(session_date," ",session_start_time," ",time_format),
'%Y-%M-%e %h:%i %p'
) as u_date FROM sessions
session\u date
是一个日期类型字段,包含值YYYY-MM-DD
和session\u start\u time
是一个varchar,它保存如下字符串HH:MM
和time\u格式
是一个varchar字段,它还包含值AM
或PM
,例如,连接后的字符串变成这样:2012-10-03 12:16 PM
当我运行这个查询时,我得到的结果为空。有语法问题吗?因为如果我删除了
STR_TO_DATE
,字段会连接在一起,没有任何错误您使用了错误的日期格式:
%Y-%M-%e %h:%i %p
应该是:
%Y-%m-%d %h:%i %p
因为
%M
表示文本月份,例如“一月”
%e
表示未添加的天数,例如“1”而不是“01”
谢谢,伙计是的,我给了错误的格式说明符:)再次感谢,伙计@PHPSeeker您可以使用
显示警告如果您想知道出了什么问题,请在命令行上单击code>。