Exemplo n.º 1
0
 static int datetime_mtime(const ObObjCastParams &params, const ObExprObj &in, ObExprObj &out)
 {
     UNUSED(params);
     OB_ASSERT(in.get_type() == ObDateTimeType);
     out.set_mtime(static_cast<ObModifyTime> (1000L * 1000L * in.get_datetime()));
     return OB_SUCCESS;
 }
Exemplo n.º 2
0
 static int datetime_bool(const ObObjCastParams &params, const ObExprObj &in, ObExprObj &out)
 {
     UNUSED(params);
     OB_ASSERT(in.get_type() == ObDateTimeType);
     out.set_bool(static_cast<bool> (in.get_datetime()));
     return OB_SUCCESS;
 }
Exemplo n.º 3
0
 static int datetime_decimal(const ObObjCastParams &params, const ObExprObj &in, ObExprObj &out)
 {
     UNUSED(params);
     OB_ASSERT(in.get_type() == ObDateTimeType);
     ObNumber num;
     num.from(static_cast<int64_t> (in.get_datetime()));
     out.set_decimal(num);
     return OB_SUCCESS;
 }
Exemplo n.º 4
0
 static int datetime_varchar(const ObObjCastParams &params, const ObExprObj &in, ObExprObj &out)
 {
     int ret = OB_SUCCESS;
     UNUSED(params);
     OB_ASSERT(in.get_type() == ObDateTimeType);
     time_t t = static_cast<time_t> (in.get_datetime());
     struct tm gtm;
     localtime_r(&t, &gtm);
     ret = varchar_printf(out, "%04d-%02d-%02d %02d:%02d:%02d",
             gtm.tm_year + 1900, gtm.tm_mon + 1, gtm.tm_mday,
             gtm.tm_hour, gtm.tm_min, gtm.tm_sec);
     return ret;
 }