内置函数
当前版本:v1.4, 更新时间:2019-10-18
1. version 函数
松果时序数据库提供获取当前服务版本的内置函数version,使用方式如下:
- SELECT version()
2. now函数
松果时序数据库提供获取服务器当前时间的内置函数now,在查询或插入数据时可以使用now函数获取服务器当前时间,精确到秒,例如以下示例:
- insert into tab01(devid, tstamp, ...) values(1, now(), ...)
now函数提供不带参数、带一个参数及带两个参数的扩展,以提供更加丰富的功能。
不带参数即获取服务器当前时间,如上面的示例
第一个参数, 时间偏移对当前时间加或减一个时间,时间单位有:秒(s),分钟(m),小时(h),天(d)示例:
- select now(),now(-10s),now(10s)
- --查询结果
- --|now() |now(-10s) |now(10s)
- --|2019-10-13 22:21:04 |2019-10-13 22:20:54 |2019-10-13 22:21:14
- 第二个参数,时间对齐对当前时间对齐到指定的单位,时间单位有:秒(s,second),分钟(m,minute),小时(h,hour),天(d,day),需要注意的是对齐到天时,获取的时间是数据库服务所在时区的当天零点。示例:
- select now(),now(0s,'minute'),now(0s,'hour')
- --查询结果
- --|now() |now(0s,'minute') |now(0s,'hour')
- --|2019-10-13 22:28:09 |2019-10-13 22:28:00 |2019-10-13 22:00:00
利用now函数的参数可以扩展一些用法:
- --查询表tab1中设备1最近5分钟内的数据
- select * from tab01
- where devid = 1 and tstamp >= now(-5m) and tstamp < now()
- --查询表tab1中设备1当天以小时为单位的统计数据
- select tstamp, max(fieldName) from tab1
- where devid = 1 and tstamp >= now(0s, 'day') and tstamp < now(1d, 'day')
- group by tstamp 1h