내가 좋아하는 뭔가를 할 수 있도록하려면MonetDB에서 어떻게 날짜를 정수로 가져올 수 있습니까?
SELECT cast(my_date_col AS int) FROM my_table;
난 당신이 BAT 구조에보고하고 적절한 요소를 가지고 있는지 찾을 것 값, 즉 MonetDB가 내부적으로 사용하는 정수를 좀하고 싶습니다 MonetDB의 GDK에있는 코드. 이제, AFAICT,이 내부 가치는 Epoch 이후 일수이며, "Year 0"에 1 월 1 일입니다 (따라서 1 월 3 일 2 해는 366 + 365 + 2 = 732가됩니다).
실제로 관리 할 수있는 최선 MonetDB으로
SELECT my_date_col AS int - cast('1-1-1' AS date) - 366 FROM my_table;
는 "올해 제로"날짜를 받아 들일 것이다. 이것은 오히려 못생긴 해킹입니다, 나는 더 잘하고 싶습니다. 도와주세요?
나는 아무것도 볼 수 없어 [monetdb 문서 (https://www.monetdb.org/Documentation/SQLreference/Temporal)는 획기적인 데이터 유형을 지원 제안하는. 레퍼런스가 있으십니까? –
@ MikeSherrill'CatRecall ': 무슨 뜻인지 잘 모르겠습니다. Epoch (이 문맥에서)는 시간이나 날짜를 usecs, msecs, days 또는 기타 등등 오프셋으로 계산하는 시점입니다. 전통적인 UNIX 시스템에서 Epoch는 1970 년 1 월 1 일입니다. – einpoklum
"Epoch"는 본질적으로 정수입니다. 날짜는 본질적으로 * 정수가 아니며 표준 SQL에서는 정수로 변환 될 수 없습니다. 1970-01-01에서 my_date_col까지의 일 수를 얻으려고하십니까? –