SQLite'de bir alt dizeyi aramanın en etkili yolu nedir?SQLite'de bir alt dizgi nasıl aranır?
LIKE operatörüne bakıyorum.
Doğru fikre sahip miyim? Bu senin için iyi çalıştı mı?
http://www.sqlite.org/lang_expr.html
teşekkür ederim.SQLite'de bir alt dizeyi aramanın en etkili yolu nedir?SQLite'de bir alt dizgi nasıl aranır?
LIKE operatörüne bakıyorum.
Doğru fikre sahip miyim? Bu senin için iyi çalıştı mı?
http://www.sqlite.org/lang_expr.html
teşekkür ederim.Yepper, Gibi kullanın. Select id from sometable where name like '%omm%'
, ad sütununun herhangi bir yerinde "omm" olan herhangi bir satırı döndürür.
'daki SQLite API'sini kullanarak, dize aslında "%" karakterini içeriyorsa. SQLite bu durumda ne yapar? –
Bir çıkış karakterini tanımlamanıza olanak tanıyan bir ESCAPE anahtar sözcüğü var, böylece% veya _ üzerinde sorgulayabilirsiniz. Bkz. Http://www.sqlite.org/lang_expr.html Yani "my name from id adından '% somename \ %%' escape '\' – GrandmasterB
uyarı gibi bir şey yaparsınız: uyarı bu büyük harf duyarsızdır. – Bren
Sen can kullanım LIKE
, ama alır gerçekten yavaş eğer '%'
ile başlar aradığınız deseni - yani aradığınız alt dize başında mutlaka değilse alan.
Bu tür aramalar yapmanız gerekiyorsa, tam metin aramayı önemli ölçüde daha verimli yapan FTS3 kullanmayı düşünün.
İlginç, kullanım için çok fazla iş var FTS3? SQLite API ile birlikte kullanılabilir mi? –
@ Tommy: Bakış açınızdan ne kadar çok nitelik kazanacağından emin değilim .. Evet, C API'sından kullanılabilir. –
FTS uzantısı SQLite dağıtımında bulunur. Dokümanları okumalı ve yapım aşamasında açmalısınız. Onun büyüsüyle çalıştığı ihmal edilemez boyutta bir endeks oluşturacağını unutmayın ... – RBerteig
Bu neden C ile etiketlenmiştir? – pmg
@pmg: C. –