内置函数

1**. now函数**

获取服务器当前时间的内置函数now,在查询或插入数据时可以使用now函数获取服务器当前时间,精确到秒,例如以下示例:

  1. insert into tab01(devid, tstamp, ...) values(1, now(), ...)

2.datetimeadd函数

计算一个时间与另一个数值相加返回另一个时间。第一个参数为DateTime值,第二个参数是表示毫秒的数。

例如:得到当前时间前1分钟(1分钟为60000毫秒)

  1. SELECT datetimeadd(now(), -60000)

为了方便做时间运算可以选择使用时间符号 秒(s),分钟(m),小时(h),如下所示:

  1. SELECT datetimeadd(now(), -60s),datetimeadd(now(), -1m), datetimeadd(now(), 1h)

3.datetimediff

计算两个时间差,结果为一个整数表示两个时间差的毫秒数。例如:

  1. SELECT datetimediff(datetimeadd(now(),1m), now())

4.datetimefloor

时间值的向下取整,取整单位为:秒(second)、分钟(second)、小时(hour)、天(day),如下所示:

  1. SELECT datetimefloor(now(), 'second'),datetimefloor(now(), 'hour')

注意:以天为单位进行取整时,使用的是本地时区。

5.datetimeceil

时间值的向上取整,取整单位为:秒(second)、分钟(second)、小时(hour)、天(day),如下所示:

  1. SELECT datetimeceil(now(), 'second'),datetimefloor(now(), 'day')

注意:以天为单位进行取整时,使用的是本地时区。

6.add函数

加法函数,支持bigint,double数据类型,如下所示:

  1. SELECT add(5,7.5)

7.sub函数

减法函数,支持bigint,double数据类型,如下所示:

  1. SELECT sub(12,3.2)

8.mul函数

乘法函数,支持bigint,double数据类型,如下所示:

  1. SELECT mul(5,8)

9.div函数

除法函数,支持bigint,double数据类型,除数为0或null时,结果为null,示例如下:

  1. SELECT div(5, 8.0)

10.mod函数

求模函数,支持bigint,double数据类型,示例如下:

  1. SELECT mod(5,8)

11.if函数

条件函数,需要三个参数,第一个参数为条件,若条件为真返回第二个参数,若条件为假返回第三个参数,示例如下:

  1. SELECT if(5 > 8, 'true', 'false')

第二个和第三个参数必须具备同样的数据类型。

12.abs函数

绝对值函数,示例如下:

  1. SELECT abs(-5),abs(5)