Zadejte hledaný výraz...

SQLite a wildcards

martinzsa
verified
rating uzivatele
(1 hodnocení)
9. 3. 2011 16:55:03
Nevie mi niekto povedať či v SQLite je podporovaný wildcard [] prípadne či nemá nejakú alternatívu ktorá by mala rovnakú funkcionalitu?
Prípadne nevie niekto ako elegantne riešiť nasledovný problém:
zákazník zadá objednávací kód a ja potrebujem dohľadať v DB jeho správny tvar ktorý môže obsahovať znaky: - . , / _ medzera
príklady:
zadaný kod : 90053502 spravny tvar: 90-05350-2
zadaný kod : 9231081896 spravny tvar: 9 231 081 896
zadaný kod : 166080 spravny tvar: 166.080
9. 3. 2011 16:55:03
https://webtrh.cz/diskuse/sqlite-a-wildcards#reply617277
duben
verified
rating uzivatele
(49 hodnocení)
12. 3. 2011 10:16:58
Proč v DB neukládáš rovnou správný tvar?
Jinak tohle se dá řešit pomocí funkce REPLACE(), v porovnávaném textu odstraníš ty znaky navíc, v tvém případě takto:
Přijde mi ale jednoduší to už uložit okleštěné o ty znaky navíc. Ideálně nech v DB původní tvar objednávacího kódu a tvar pro vyhledávání, tím to urychlíš a pokud dojde po odstranění znaků ke shodě u více druhů zboží, nabídneš uživateli možnost vybrat to správné.
12. 3. 2011 10:16:58
https://webtrh.cz/diskuse/sqlite-a-wildcards#reply617276
martinzsa
verified
rating uzivatele
(1 hodnocení)
13. 3. 2011 00:19:07
v DB spravny tvar neukladam z 2 dovodov. 1 tieto kody su primarnymi klucami a zaroven cudzimi pripadne v inej podobe minimalne v 30 tabulkach cize ich menit nemozem aby som zachoval previazanie. 2 DB je velka (cca 30GB) a duplikovanim zaznamov v ich orezanej forme by velkost este viac navysilo... a co sa replacu tyka tak ten som skusal uz davno a bolo to velmi pomale pri tom objeme dat a operaci co potrebujem robit...
13. 3. 2011 00:19:07
https://webtrh.cz/diskuse/sqlite-a-wildcards#reply617275
duben
verified
rating uzivatele
(49 hodnocení)
13. 3. 2011 08:37:26
Pokud máš takhle velkou databázi s vazbami přes klíče, tak je skutečně nejlepší řešení v té primární tabulce udělat sloupec navíc, a do něj ukládat záznamy v ořezané formě. Navýší ti to sice objem dat, ale nijak tragicky, pokud jde o jedno pole v jedné tabulce a můžeš to pole pak indexovat, takže získáš rychlé vyhledávání. Pomalejší bude jen ukládání nového produktu (protože tam ten replace na nový sloupec budeš muset použít), ale to nevadí, protože primární bude asi to vyhledávání, které probíhá zřejmě častěji a hlavně s tipuju že tam je potřeba rychlé odezvy důležitější.
13. 3. 2011 08:37:26
https://webtrh.cz/diskuse/sqlite-a-wildcards#reply617274
A nechtělo by to začít přepracováním datového modelu?
13. 3. 2011 09:05:25
https://webtrh.cz/diskuse/sqlite-a-wildcards#reply617273
Pro odpověď se přihlašte.
Přihlásit