summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/func_time.result2
-rw-r--r--mysql-test/t/func_time.test7
-rw-r--r--sql/field.cc2
3 files changed, 10 insertions, 1 deletions
diff --git a/mysql-test/r/func_time.result b/mysql-test/r/func_time.result
index c132c7dba8e..79a03bdbd48 100644
--- a/mysql-test/r/func_time.result
+++ b/mysql-test/r/func_time.result
@@ -184,3 +184,5 @@ extract(MINUTE_SECOND FROM "10:11:12")
1112
extract(SECOND FROM "1999-01-02 10:11:12")
12
+ctime hour(ctime)
+2001-01-12 12:23:40 12
diff --git a/mysql-test/t/func_time.test b/mysql-test/t/func_time.test
index 33c62e5a6bf..d6427d121ec 100644
--- a/mysql-test/t/func_time.test
+++ b/mysql-test/t/func_time.test
@@ -98,3 +98,10 @@ select extract(HOUR_SECOND FROM "10:11:12");
select extract(MINUTE FROM "10:11:12");
select extract(MINUTE_SECOND FROM "10:11:12");
select extract(SECOND FROM "1999-01-02 10:11:12");
+
+drop table if exists t1;
+create table t1 (ctime varchar(20));
+insert into t1 values ('2001-01-12 12:23:40');
+select ctime, hour(ctime) from t1;
+drop table t1;
+
diff --git a/sql/field.cc b/sql/field.cc
index 34b047e6a1c..67f93532e99 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -328,7 +328,7 @@ bool Field::get_time(TIME *ltime)
char buff[40];
String tmp(buff,sizeof(buff)),tmp2,*res;
if (!(res=val_str(&tmp,&tmp2)) ||
- str_to_time(res->ptr(),res->length(),ltime) == TIMESTAMP_NONE)
+ str_to_time(res->ptr(),res->length(),ltime))
return 1;
return 0;
}