作者:z漫步云端j | 来源:互联网 | 2023-05-18 02:35
上一篇文章以一些具体的面试题为例,例举了SQLite中一些常见的核心函数,下面对其整理说明,同时加入了其他一些函数。Ps:SQLite中的许多内置函数大多用于处理字符串或数字数据,所有的函数
上一篇文章以一些具体的面试题为例,例举了SQLite中一些常见的核心函数,下面对其整理说明,同时加入了其他一些函数。
Ps:SQLite中的许多内置函数大多用于处理字符串或数字数据,所有的函数都是大小写不敏感的,也就是说,我们可以使用这些函数的大写形式、小写形式或混合形式。下面说明时以小写为例。
Android面试整理之SQLite数据库——sql语句和常用函数(一)
SQLite函数 |
说明 |
abs(X) |
该函数返回数值参数X的绝对值:若X为NULL,则返回NULL;若X是不能转换为数值的字符串,则返回0;若X是可以转换为数值的字符串,则按照数值型返回其绝对值;若X值超出Integer的上限,则抛出“Integer Overflow”异常 |
changes() |
该函数返回最近执行的INSERT、UPDATE和DELATE语句所影响的数据行数。可通过执行C/C+=函数sqlite3_changes()得到相同结果 |
total_changes() |
该函数返回自从该连接被打开时起,INSET、UPDATE、DELETE语句总共影响的行数,通过C/C++接口函数sqlite3_total_changes()可得到相同的结果 |
coalesce(X,Y,…) |
返回函数中第一个非NULL的参数;若参数都为NULL,则返回NULL,该函数至少2个参数 |
ifnull(X,Y) |
与coalesce()函数功能相同,即等同于两个参数的coalesce()函数 |
length(X) |
若参数X为字符串,则返回字符的数量;若X为数值,则返回该参数的字符串表示形式的长度;若X为NULL,则返回NULL |
lower(X) |
返回参数X的小写形式;缺省情况下,该函数只能应用于ASCII字符 |
upper() |
该函数返回参数X的大写形式,缺省情况下,该函数只能应用于ASCII字符 |
ltrim(X[,Y]) |
若没有可选参数Y,该函数将移除参数X左侧的所有空格;若有参数Y,则移除左侧的任意在Y中出现的字符;最后返回移除后的字符串 |
rtrim(X[,Y]) |
若无可选参数Y,该函数将移除参数X右侧的所有空格符;若有参数Y,则移除X右侧的任意在Y中出现的字符,最后返回移除后的字符串 |
trim(X[,Y]) |
若无可选参数Y,该函数将移除参数X两侧的所有空格符;若有参数Y,则移除X两侧的任意在Y中出现的字符,最后返回移除后的字符串 |
max(X,Y,..) |
该函数返回参数中的最大值,若有任何一个参数为NULL,则返回NULL |
min(X,Y,..) |
该函数返回参数中的最小值,若有任何一个参数为NULL,则返回NULL |
nullif(X,Y) |
如X与Y相同,则返回NULL;若参数不同则返回第一个参数X |
random() |
返回整型的伪随机数 |
replace(X,Y,Z) |
将字符串类型的函数参数X中所有子串Y替换为子串Z,最后返回替换后的字符串;原字符串X保持不变 |
round(X[,Y]) |
返回参数X被四舍五入到Y刻度的值,如果参数Y不存在,缺省参数值为0 |
substr(X,Y[,Z]) |
该函数返回参数X的子串,从第Y位开始(X中的第一个字符位置位1),截取长度位Z的字符。若忽略参数Z,则取第Y个字符后面的所有字符。若Z为负值,则从第Y位开始,向左截取Z个字符;若Y为负值,则从X字符串的尾部开始计数到第Y的位置开始 |
typeof() |
该函数返回参数数据类型的字符串表示形式,如Integer/text/real/null等 |
avg(X) |
该函数返回在同一组内参数字段的平均值;对于不能转换为数字的String和BLOB类型的字段值,如’HELLO’,SQLite将会视为0;avg函数的结果总是浮点型的;唯一例外的是所有的字段值均为NULL时,该函数的结果也为NULL |
count(X|*) |
count(X)函数返回在同一组内,X字段中值不等于NULL的行数;count(*)函数返回在同一组内的数据行数(另一种说法是,用来计算一个数据库表中的行数) |
goup_concat(X[,y]) |
该函数返回一个字符串,该字符串将会连接所有非NULL的X值;Y参数将作为每个X值之间的分隔符,若调用时忽略该参数,在连接时将使用缺省分隔符”,”。再有就是各个字符串之间的连接顺序是不确定的 |
max(X) |
该函数返回同一组内的X字段的最大值,若该字段的所有值均为NULL,该函数也返回NULL(另一种说法是,允许我们选择某列的最大值) |
min(X) |
该函数返回同一组内的X字段的最小值,若该字段的所有值均为NULL,则函数也返回NULL(另一种说法是,允许我们选择某列的最小值) |
sum(X) |
该函数返回同一组内的X字段值的总和,若字段值均为NULL,该函数也返回NULL.若所有的X字段值均为整型或者NULL,该函数返回整型数值;否则就返回浮点型数值;若所有数值均为整型,一旦结果超过上限时会抛出“integer overflow”异常 |
total(X) |
该函数不属于标准SQL,其功能和SUM函数基本相同,只是计算结果比sum更为合理,比如当所有字段值均为NULL时,该函数返回0.0;另外,该函数始终返回浮点型数值;该函数始终都不会抛出异常 |
sql_version |
返回SQLite数据库的版本 |
本文参考资料:
1.http://www.runoob.com/sqlite/sqlite-functions.html
2.http://www.cnblogs.com/linlf03/archive/2012/02/20/2359410.html