diff --git a/types/time.go b/types/time.go index fa06db224e..b5474a28dd 100644 --- a/types/time.go +++ b/types/time.go @@ -682,6 +682,9 @@ func parseDatetime(sc *stmtctx.StatementContext, str string, fsp int, isFloat bo case 3: // YYYY-MM-DD err = scanTimeArgs(seps, &year, &month, &day) + case 4: + // YYYY-MM-DD HH + err = scanTimeArgs(seps, &year, &month, &day, &hour) case 5: // YYYY-MM-DD HH-MM err = scanTimeArgs(seps, &year, &month, &day, &hour, &minute) diff --git a/types/time_test.go b/types/time_test.go index 1e6698949e..46e659c789 100644 --- a/types/time_test.go +++ b/types/time_test.go @@ -62,6 +62,8 @@ func (s *testTimeSuite) TestDateTime(c *C) { {"170102036", "2017-01-02 03:06:00"}, {"170102039.", "2017-01-02 03:09:00"}, {"170102037.11", "2017-01-02 03:07:11.00"}, + {"2018-01-01 18", "2018-01-01 18:00:00"}, + {"18-01-01 18", "2018-01-01 18:00:00"}, } for _, test := range table {