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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM