22 #include <drizzled/function/func.h>
23 #include <drizzled/function/str/strfunc.h>
33 using Item_func::tmp_table_field;
37 enum Item_result result_type ()
const {
return STRING_RESULT; }
38 enum_field_types field_type()
const {
return DRIZZLE_TYPE_DATE; }
41 double val_real() {
return val_real_from_decimal(); }
42 const char *func_name()
const {
return "date"; }
43 void fix_length_and_dec()
45 collation.set(&my_charset_bin);
61 Field *tmp_table_field(Table *table)
69 return val_decimal_from_date(decimal_value);
71 int save_in_field(
Field *field,
74 return save_date_in_field(field);
85 enum_field_types field_type()
const {
return DRIZZLE_TYPE_DATETIME; }
87 using Item_func::tmp_table_field;
97 return val_decimal_from_date(decimal_value);
99 int save_in_field(
Field *field,
102 return save_date_in_field(field);
type::Decimal * val_decimal(type::Decimal *decimal_value)
String * val_str(String *str)
Field * tmp_table_field_from_field_type(Table *table, bool fixed_length)
virtual bool get_temporal(Date &temporal)=0
type::Decimal * val_decimal(type::Decimal *decimal_value)
static const int MAX_STRING_LENGTH