sqlite数据库实现字符串查找的方法(instr,substring,charindex替代方案)

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()

 

转:http://hi.baidu.com/feng20068123/item/25075503590e7018cd34ea6d

你可能感兴趣的:(substring)