diff --git a/sql/item.cc b/sql/item.cc index 09ae50fcc59..0e6135d64f8 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -9853,9 +9853,18 @@ Item *Item_cache_temporal::convert_to_basic_const_item(THD *thd) else { MYSQL_TIME ltime; - unpack_time(val_datetime_packed(), <ime); - new_item= (Item*) new (thd->mem_root) Item_datetime_literal(thd, <ime, - decimals); + if (Item_cache_temporal::field_type() == MYSQL_TYPE_TIME) + { + unpack_time(val_time_packed(), <ime); + new_item= (Item*) new (thd->mem_root) Item_time_literal(thd, <ime, + decimals); + } + else + { + unpack_time(val_datetime_packed(), <ime); + new_item= (Item*) new (thd->mem_root) Item_datetime_literal(thd, <ime, + decimals); + } } return new_item; }