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
轉載于:https://www.cnblogs.com/ygm900/p/3464146.html
總結
以上是生活随笔為你收集整理的sqlite数据库实现字符串查找的方法(instr,substring,charindex替代方案)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript 32位整型无符号操
- 下一篇: mysql排行榜sql的实现