MySQL str_to_date问题

时间:2011-05-10 15:41:46

标签: mysql sql

这有什么问题? str_to_date('26/04/2011 00:00:00', '%d/%m/%Y') 它给出了Error Code: 1292 Truncated incorrect date value: '26/04/2011 00:00:00'

更新:问题是00:00:00,如果我删除它就可以了。如何修改'%d/%m/%Y'以接受时间? '%d/%m/%Y %h:%m:%s'不起作用。

2 个答案:

答案 0 :(得分:4)

str_to_date('26/04/2011 00:00:00', '%d/%m/%Y %H:%i:%s')

注意小时(00-24)的大写%H,而不是%h(01-12)。

答案 1 :(得分:2)

由于您已在value参数中指定了时间,因此还应在日期格式参数中指定时间组件。

str_to_date('26/04/2011 00:00:00', '%d/%m/%Y %h:%i:%s')

或者从日期值中删除时间组件:

str_to_date('26/04/2011', '%d/%m/%Y')

要么应该工作,要么需要在两个参数之间保持一致。

或者,您可以指定格式,使其在时间组件中具有固定值:

str_to_date('26/04/2011 00:00:00', '%d/%m/%Y 00:00:00')

这将有效,但前提时间组件始终为00:00:00