Nasıl dize karşılaştırırken büyük / küçük harf duyarlı olmak Sqlite3 ayarlamak için?
Dize eşleştirme tarafından sqlite3 veritabanı kayıtları seçmek istiyorum. Ama eğer kullanırsam '=' where yan tümcesi, sqlite3 büyük / küçük harf duyarlı olduğunu buldum. Kimseye string büyük küçük harf duyarlı karşılaştırma nasıl kullanılacağını söyleyebilir mi? Çok teşekkür ederim!
CEVAP
SELECT sorgunuza COLLATE NOCASE kullanabilirsiniz:
SELECT * FROM ... WHERE name = 'someone' COLLATE NOCASE
Ayrıca, SQLite, sen-ebilmek gösteren bir sütun olmalıdır büyük / küçük harf duyarlı olduğunda oluşturduğunuz tablonun belirterek collate nocase sütun tanımı (diğer seçenekler binary (varsayılan) ve rtrim; here). Bir dizin olarak oluşturduğunuzda collate nocase belirtebilirsiniz. Örneğin:
create table Test
(
Text_Value text collate nocase
);
insert into Test values ('A');
insert into Test values ('b');
insert into Test values ('C');
create index Test_Text_Value_Index
on Test (Text_Value collate nocase);
İfadeler Test.Text_Value ilgili artık büyük / küçük harf duyarlı olmalıdır. Örneğin:
sqlite> select Text_Value from Test where Text_Value = 'B'; Text_Value ---------------- b sqlite> select Text_Value from Test order by Text_Value; Text_Value ---------------- A b C sqlite> select Text_Value from Test order by Text_Value desc; Text_Value ---------------- C b A
Bu doktoru da potansiyel olarak büyük / küçük harf duyarlı ve sütun eşleşen arama için dizin. Bu explain SQL komutu, örneğin kullanarak kontrol edebilirsiniz:
sqlite> explain select Text_Value from Test where Text_Value = 'b'; addr opcode p1 p2 p3 ---------------- -------------- ---------- ---------- --------------------------------- 0 Goto 0 16 1 Integer 0 0 2 OpenRead 1 3 keyinfo(1,NOCASE) 3 SetNumColumns 1 2 4 String8 0 0 b 5 IsNull -1 14 6 MakeRecord 1 0 a 7 MemStore 0 0 8 MoveGe 1 14 9 MemLoad 0 0 10 IdxGE 1 14 11 Column 1 0 12 Callback 1 0 13 Next 1 9 14 Close 1 0 15 Halt 0 0 16 Transaction 0 0 17 VerifyCookie 0 4 18 Goto 0 1 19 Noop 0 0

Nasıl Python ile büyük / küçük harf du...
Büyük / küçük harf duyarlı dize ETMENİ...
Dizi nasıl yapabilirim.Büyük küçük har...
Nasıl Javascript büyük / küçük harf du...
Nasıl MySQL ve PostgreSQL için büyük /...