2014-11-14 7 views
1

Как преобразовать строку/varchar в метку времени в MonetDB?Преобразование строки в метку времени в 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"; 

Edit: ожидается выход что-то вроде

+---------------------------------+ 
| str_to_timestamp_single_value | 
+=================================+ 
| 2008-09-19 18:40:09.812000  | 
+---------------------------------+ 

ответ

1

функции преобразования времени Monetdb перечислены в:

  • [папку установки Monetdb] \ monetDB5 \ Lib \ monetdb5 \ CREATEDB \ 13_date.sql.

Помимо функции 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'); 
+0

для monet v1.7, он выкинет ошибку «такой бинарный оператор». Добавить имя схемы перед именем функции 'select sys.str_to_timestamp' – redexp

+0

Спасибо за информацию, я обновлю свой ответ. –

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 
+0

Дата/время спецификаторы хорошо, я действительно искал что-то вроде 'str_to_timestamp'. – nacnudus

+0

Ну, у monetdb есть то, что называется 'daytime' для работы с точным временем. Если я правильно помню, это похоже на 'daytime_tz_fromstr'. Наверное, я немного неясен. Каков ваш ожидаемый результат? –

Смежные вопросы