序列日期时间
Analytics 使用序列日期时间来存储日期、日期时间和时间,并且执行日期时间计算。
当您使用日期时间表达式时,可能会遇到序列日期时间值。例如,只涉及日期、日期时间或时间值的减法运算会以序列日期时间的形式返回结果。
什么是序列日期时间?
序列日期时间是使用整数表示日期,使用 24 小时的十进制小数部分表示时间的数字。例如:
- 42004
- 42004.50000
- 0.75000
- 42004.74618055555556
小数点之前的部分是日期,小数点后的部分是时间。
日期部分
日期部分是自 1900 年 1 月 1 日以来经过的天数。因此,序列日期 '1' 相当于 1900 年 1 月 02 日。序列日期 '0'(零)不计算在内。序列日期 '42004' 相当于 2015 年 1 月 1 日。
时间部分
序列日期时间的时间部分使用 24 小时时钟格式。所以,0.5 相当于 12 个小时,0.75 相当于 18 个小时,0.04167 相当于 1 小时,如此类推。
等效的常规日期时间值
上述序列日期时间相当于如下的常规日期时间值:
- 42004 = 2015 年 1 月 1 日
- 42004.50000 = 2015 年 1 月 1 日 12:00:00
- 0.75000 = 18:00:00
- 42004.74618055555556 = 2015 年 1 月 1 日 17:54:30
将序列日期时间转换为常规日期时间值
三种转换函数使您可以将序列日期时间转换为具有日期时间数据类型的常规日期时间值:
您可以转换序列日期时间,以使某些日期时间表达式更具可读性,或者将数值型序列日期时间值转换为日期时间数据类型,应该在其他需要日期时间数据类型的表达式中使用。
三个函数的例子,如下表所示。
表达式 |
结果 |
---|---|
STOD(42004) |
01 一月 2015 |
STODT(42004.50000) |
01 一月 2015 12:00:00 |
STOT(0.75000) |
18:00:00 |
STODT(42004.74618055555556) | 2015 年 1 月 1 日 17:54:30 |
STOT(`T173000` - `T093000`) |
08:00:00 |
将常规日期时间值转换为序列日期时间
通常,无需将常规日期时间值转换为序列日期时间。序列日期时间被 Analytics 在内部用于日期时间存储和计算。
如果您想要看到与常规日期时间相对应的序列日期时间值,您可以使用下列方法:
常规日期时间值 |
转换表达式 |
相应的序列日期时间 |
---|---|---|
01 一月 2015 |
`20150101`-`19000101` |
42004 |
17:54:30 |
1.0000000000*((HOUR(`t175430`)*3600)+(MINUTE(`t175430`)*60)+SECOND(`t175430`))/86400 |
0.7461805556 |