sqlite数据库是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,资源占用低,执行效率高,可以跨平台使用,已被广泛使用。作为一款轻量级的数据库,功能自然会有所欠缺,比如数据库加密,用户权限设置,其内置函数相对于mysql,access,sqlserver,oracle这些主流数据库也逊色不少。比如最新的sqlite3.0数据库就没有类似于mysql,sqlserver等数据库的charindex内置函数,那么要实现类似的功能应该怎么办呢,我采用了substr这个函数曲线救国,使用如下语句。

select * from [table] where substr(findstring,[column])<>[column]

效率不高,仅仅能够实现相关的功能。

另外,使用like关键词也可以实现。

sqlite支持的内置函数表:

算术函数

abs(X) 返回给定数字表达式的绝对值。

max(X,Y[,...]) 返回表达式的最大值。

min(X,Y[,...]) 返回表达式的最小值。

random(*) 返回随机数。

round(X[,Y]) 返回数字表达式并四舍五入为指定的长度或精度。

字符处理函数

length(X) 返回给定字符串表达式的字符个数。

lower(X) 将大写字符数据转换为小写字符数据后返回字符表达式。

upper(X) 返回将小写字符数据转换为大写的字符表达式。

substr(X,Y,Z) 返回表达式的一部分。

randstr() 

quote(A) 

like(A,B) 确定给定的字符串是否与指定的模式匹配。

glob(A,B) 

条件判断函数

coalesce(X,Y[,...]) 

ifnull(X,Y) 

nullif(X,Y) 

集合函数

avg(X) 返回组中值的平均值。

count(X) 返回组中项目的数量。

max(X) 返回组中值的最大值。

min(X) 返回组中值的最小值。

sum(X) 返回表达式中所有值的和。

其他函数

typeof(X) 返回数据的类型。

last_insert_rowid() 返回最后插入的数据的ID。

sqlite_version(*) 返回SQLite的版本。

change_count() 返回受上一语句影响的行数。

last_statement_change_count()