如何将字符串/ varchar转换为MonetDB中的时间戳?
像这样,但精度为毫秒(理想情况下为小数点后六位):
sql>select str_to_date('2008-09-19-18.40.09.812000', '%Y-%m-%d-%H.%M.%6S');
+--------------------------+
| str_to_date_single_value |
+==========================+
| 2008-09-19 |
+--------------------------+
1 tuple (0.312ms)
我不确定str_to_date是否内置,或者我是否在很久以前创建它并忘记了。
create function str_to_date(s string, format string) returns date
external name mtime."str_to_date";
修改:预期输出类似
+---------------------------------+
| str_to_timestamp_single_value |
+=================================+
| 2008-09-19 18:40:09.812000 |
+---------------------------------+
答案 0 :(得分:1)
Monetdb时间转换功能列于:
除了str_to_date函数之外,还有一个str_to_timestamp函数。
格式字符串的语法遵循the MySQL one。
示例:
select sys.str_to_timestamp('2016-02-04 15:30:29', '%Y-%m-%d %H:%M:%S');
答案 1 :(得分:0)
可能需要更改日期/时间说明符:
select str_to_date('2008-09-19-18.40.09.812000','%Y-%m-%d-%H.%i.%s.%f')
输出:
2008-09-19 18:40:09.812000
* monetdb可能不同,但在标准SQL these are the standard date specifiers中。
除了date_format
:
str_to_date
select date_format(str_to_date('SEP 19 2008 06:40:09:812PM','%M %D %Y %h:%i:%s:%f%p'),'%Y-%m-%d-%H.%i.%f');
输出:
2008-09-19-18.40.812000