A Collection of time Functions¶
Date Time
Basic built-in functions for datetime types in database systems.
Type Element | Range |
---|---|
Year | [1990, 2100] |
Month | [01, 12] |
Day (non-leap year) | {31,28,31,30,31,30,31,31,30,31,30,31} |
Day (leap year) | {31,29,31,30,31,30,31,31,30,31,30,31} |
Hour | [00,23] |
Minute | [00,59] |
Second | [00,59] |
Millisecond | [000,999] |
date¶
Description: extract a date from a time
x = 2011.03.15T15:12:57.001:dt
@date(x)
> 2011.03.15:date
Type Rules
dt -> date
_ -> domain error
date year¶
Description: return a year from a date
d <- 2011.03.15d
@date_year(d)
> 2011:i16
Type Rules
month -> i16
date -> i16
dt -> i16
_ -> domain error
date month¶
Description: return a month from a date
x = 2011.03.15:date;
@date_month(x)
3:i16
Type Rules
month -> i16
date -> i16
dt -> i16
_ -> domain error
date day¶
Description: return a day from a date
x = 2011.03.15:date
@date_month(x)
15:i16
Type Rules
date -> i16
dt -> i16
_ -> domain error
About Time¶
time¶
Description: extract a time from a date
x = 2011.03.15T15:12:57.001:dt
@time(x)
15:12:57.001:t
Type Rules
dt -> time
_ -> domain error
time hour¶
Description: return an hour from a time
x = 15:12:57.001:time
@time_hour(x)
15:i16
Type Rules
dt -> i16
minute -> i16
second -> i16
time -> i16
_ -> domain error
time minute¶
Description: return a minute from a time
x = 15:12:57.001:time
@time_minute(x)
12:i16
Type Rules
dt -> i16
minute -> i16
second -> i16
time -> i16
_ -> domain error
time second¶
Description: return a second from a time
x = 15:12:57.001:time
@time_second(x)
57:i16
Type Rules
dt -> i16
second -> i16
time -> i16
_ -> domain error
time mill¶
Description: return a millisecond from a time
x = 15:12:57.001:time
@time_mill(x)
1:i64
Type Rules
dt -> i16
time -> i16
_ -> domain error
datetime operations¶
General operations for all datetime types.
Keys¶
`year `month `day `hour `minute `second `mill
datetime add¶
Description: add an interval to a time
d = 2011.03.15:date
x = 1:i64
@datetime_add(d,x,`year:sym)
2012.03.15:date
t = 15.12.57.001:time
x = 1:i64
@datetime_add(t,x,`second)
15.12.58.001:time
Type rules
dt, Int, sym -> <determined by the first parameter>
_ -> domain error
Shape rules
- Return the same shape as the first parameter
datetime sub¶
Description: substract an interval to a time
d = 2011.03.15:date
x = 1:i64
@datetime_sub(d,x,`year)
2010.03.15:date
t = 15:12:57.001:time
x = 2:i64
@datetime_sub(t,x,`second)
15:12:56.001:time
Type rules
dt, Int, sym -> <determined by the first parameter>
_ -> domain error
Shape rules
- Return the same shape as the first parameter