本文将介绍SQLite3数据库中的一些常用函数。
abs(value)函数,返回参数value的绝对值,如下面的代码。
select abs(123), abs(-123);
执行代码会返回两个123。
hex(data)函数,返回参数data的十六进制文本,如下面的代码。
select hex('abc');
执行代码会返回'616263'。
round(value,precision)函数,返回参数value指定,参数precision指定小数精度的位数,默认为0,多于的位数会四舍五入;函数总是会返回一个浮点数,下面的代码演示了round()函数的基本应用。
select round('123.456'),round('123.456',2);
执行代码会返回123.0和123.46。
以下是与空值判断相关的函数:
下面的代码演示了这几个函数的基本应用。
select coalesce(null,null,3), ifnull(1,2), nullif(1,1);
执行代码会返回3、1、null。可以修改函数的参数来观察返回结果。
random()函数,返回64位有符号随机整数。数据范围从-9223372036854775808到+9223372036854775807。下面的代码演示了random()函数的应用。
select random(), (abs(random())%10);
请注意第二个返回结果,会显示一个0到9的随机数。如果需要指定一个随机数范围,可以使用公式“(abs(random())%(最大值-最小值))+最小值”计算,但结果不包含最大值,如下面的代码,会返回5到9的随机数。
select (abs(random())%(10-5))+5;
randomblob(size)函数,返回指定尺寸(字节)的随机BLOB数据。zeroblob(size)函数,创建指定尺寸(字节)的BLOB,字节值都设置为0。下面的代码演示了这两个函数的应用。
select hex(randomblob(10)), hex(zeroblob(10));
本例,第一输出每次会不一样,而第二个输出则是'00000000000000000000'。