Android面试整理之SQLite数据库——sql语句和常用函数(二)

     上一篇文章以一些具体的面试题为例,例举了SQLite中一些常见的核心函数,下面对其整理说明,同时加入了其他一些函数。

Ps:SQLite中的许多内置函数大多用于处理字符串或数字数据,所有的函数都是大小写不敏感的,也就是说,我们可以使用这些函数的大写形式、小写形式或混合形式。下面说明时以小写为例。

     Android面试整理之SQLite数据库——sql语句和常用函数(一)

 

    

SQLite函数

说明

abs(X)

该函数返回数值参数X绝对值:若XNULL,则返回NULL;X是不能转换为数值的字符串,则返回0;若X是可以转换为数值的字符串,则按照数值型返回其绝对值;若X值超出Integer的上限,则抛出“Integer  Overflow”异常

changes()

该函数返回最近执行的INSERTUPDATEDELATE语句所影响的数据行数。可通过执行C/C+=函数sqlite3_changes()得到相同结果

total_changes()

该函数返回自从该连接被打开时起,INSETUPDATEDELETE语句总共影响的行数,通过C/C++接口函数sqlite3_total_changes()可得到相同的结果

coalesce(X,Y,…)

返回函数中第一个非NULL的参数;若参数都为NULL,则返回NULL,该函数至少2个参数

ifnull(X,Y)

coalesce()函数功能相同,即等同于两个参数的coalesce()函数

length(X)

若参数X为字符串,则返回字符的数量;若X为数值,则返回该参数的字符串表示形式的长度;若XNULL,则返回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)

XY相同,则返回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)

该函数返回在同一组内参数字段的平均值;对于不能转换为数字的StringBLOB类型的字段值,如’HELLO’,SQLite将会视为0avg函数的结果总是浮点型的;唯一例外的是所有的字段值均为NULL时,该函数的结果也为NULL

count(X|*)

count(X)函数返回在同一组内,X字段中值不等于NULL的行数;count(*)函数返回在同一组内的数据行数(另一种说法是,用来计算一个数据库表中的行数)

goup_concat(X[,y])

该函数返回一个字符串,该字符串将会连接所有非NULLX值;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

 

 

 

 

 

 

 

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页