diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-11-20 13:47:52 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-11-20 13:47:52 +0400 |
commit | 21a58840819530ed6a257550529e50e333237479 (patch) | |
tree | d10b162db95238cdd53cf1c63babbf98fe7e614d /sql/item_timefunc.h | |
parent | dde2ca4aa108b611b5fdfc970146b28461ef08bf (diff) | |
download | mariadb-git-21a58840819530ed6a257550529e50e333237479.tar.gz |
MDEV-17776 CAST(x AS INTERVAL DAY_SECOND(N))
Diffstat (limited to 'sql/item_timefunc.h')
-rw-r--r-- | sql/item_timefunc.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sql/item_timefunc.h b/sql/item_timefunc.h index 45f10659a76..318bef22ad1 100644 --- a/sql/item_timefunc.h +++ b/sql/item_timefunc.h @@ -1106,6 +1106,24 @@ public: }; +class Item_interval_DDhhmmssff_typecast :public Item_char_typecast +{ + uint m_fsp; +public: + Item_interval_DDhhmmssff_typecast(THD *thd, Item *a, uint fsp) + :Item_char_typecast(thd, a,Interval_DDhhmmssff::max_char_length(fsp), + &my_charset_latin1), + m_fsp(fsp) + { } + String *val_str(String *to) + { + Interval_DDhhmmssff it(current_thd, args[0]); + null_value= !it.is_valid_interval_DDhhmmssff(); + return it.to_string(to, m_fsp); + } +}; + + class Item_date_typecast :public Item_datefunc { public: |