2015-03-25 10:10:10
2015-03-25 10:10
2015-03-25 10
2015-03-25
它会用零填充余数。但我不能使用其他方法。
2015-03
2015
作为它将会产生一个“不正确的日期时间值”错误。然而,在SELECT语句中使用这两种方法是可能的,例如:
[..] WHERE timestamp < '2015-03'
..
MySQL是否有一种方式,如果datetime中省略了月份和日期,会用01-01填充其余部分,还是我必须手动进行操作?即,我想在INSERT语句中使用“2015-03”,或者做类似于
SELECT DATE_FORMAT('2015-03', '%Y%m%dT%H%i%S')
的事情。
WHERE
子句示例中,不完整的格式之所以被“支持”,是因为这些文字被解析为纯字符串;并且根据数据库连接的排序规则进行字典排序比较。虽然这不是真正的时间类型比较(也不能使用时间列上的索引),但由于MySQL的日期时间格式布局,这样的字典排序产生与真实的时间排序相同的结果。 - eggyal