abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 14:44 | IT novinky

    Google kupuje společnost Wiz za 32 miliard dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:11 | IT novinky

    Společnost Bambu Lab spustila na Kickstarteru kampaň CyberBrick: Beyond Bricks. Jedná se o modulární systém programovatelných a dálkově ovládaných hraček. Objednat si lze jenom moduly s čipy a hračky si vytisknout na 3D tiskárně.

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | IT novinky

    Mikrokontroléry RP2350A a RP2350B jsou již volně v prodeji. Představeny byly v srpnu loňského roku společně s Raspberry Pi Pico 2.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | Nová verze Ladislav Hagara | Komentářů: 7
    včera 16:11 | Komunita

    Od 6. do 19. dubna proběhne volba vedoucího projektu Debian (DPL, Wikipedie) na další funkční období. Kandidují Gianfranco Costamagna, Julian Andres Klode, Andreas Tille a Sruthi Chandran.

    Ladislav Hagara | Komentářů: 6
    včera 01:55 | Pozvánky

    Korespondenční seminář z programování (KSP) pražského Matfyzu pořádá i letos jarní soustředění pro začátečníky. Zváni jsou všichni středoškoláci a starší základoškoláci, kteří se chtějí naučit programovat, lépe uvažovat o informatických úlohách a poznat nové podobně smýšlející kamarády. Úplným začátečníkům bude určen kurz základů programování a kurz základních algoritmických dovedností, pokročilejším nabídneme různorodé

    … více »
    Vladimir Sklenár | Komentářů: 0
    16.3. 17:33 | Zajímavý článek

    Joe Brockmeier z Linux Weekly News vyzkoušel různé forky webového prohlížeče Mozilla Firefox: především GNU IceCat, Floorp, LibreWolf a Zen. V článku shrnuje, v čem se liší od výchozí konfigurace Firefoxu, co mají za vlastní funkcionalitu, jak a kým jsou udržované atd.

    Fluttershy, yay! | Komentářů: 9
    15.3. 19:22 | Nová verze

    Byl vydán Debian 12.10, tj. desátá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.3. 18:22 | Nová verze

    Byla vydána nová verze 4.5 svobodného notačního programu MuseScore (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Jaké je vaše preferované prostředí?
     (27%)
     (1%)
     (1%)
     (1%)
     (1%)
     (2%)
     (65%)
     (2%)
    Celkem 157 hlasů
     Komentářů: 5, poslední 13.3. 11:45
    Rozcestník

    Dotaz: prikaz NOT REGEXP v mysql

    29.4.2013 14:58 bajt | skóre: 1
    prikaz NOT REGEXP v mysql
    Přečteno: 234×
    Když následující dotaz (a) spustím přímo v mysql databázi, tak funguje spravne, ovsem pokud jej zakonponuju do skriptu (b) tak radky ktere obsahuji dane slova v popisu neodfiltruje, nevite proc??

    (a) SELECT popis FROM....WHERE popis NOT REGEXP 'UKONČENA|VYŘAZENO|NEDODÁVÁ|STAŽENO Z|NENÍ V NABÍDCE|NENÍ K DISPOZICI'

    (b) $vysledek = MySQL_Query("SELECT popis FROM....WHERE popis NOT REGEXP 'UKONČENA|VYŘAZENO|NEDODÁVÁ|STAŽENO Z|NENÍ V NABÍDCE|NENÍ K DISPOZICI'");

    Řešení dotazu:


    Odpovědi

    29.4.2013 15:55 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    Zmatek v kódování(?), zkusil bych naslepo něco bez diakritiky…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    29.4.2013 16:15 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    timto neni - zkousel jsem treba odfiltrovat jen polozky co obsahuji slovo "otvor" a nezafungovalo to :-(
    rADOn avatar 29.4.2013 16:34 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    Dotazy do databáze posíláš v nějakém kódování (specifikuješ při vytváření spojení) a toho se musíš držet a ne posílat to co zrovna ten den bleje tvůj Oblíbený Editor (tm). Čili v první řádě nemůžeš psát do kódu dotazy jako řetězcový literály. Potřebuješ to mít zaescapovaný, napriklad kdyby to bylo utf8 takhle:
    "SELECT popis FROM....WHERE popis NOT REGEXP 'UKON\xc4\x8cENA|VY\xc5\x98AZENO|NEDOD\xc3\x81V\xc3\x81|STA\xc5\xbdENO Z|NEN\xc3\x8d V NAB\xc3\x8dDCE|NEN\xc3\x8d K DISPOZICI'"
    Ideální je samozřejmě mít to ve stejným kódování jako db, ale není to podmínka – konverze není těžká pokud víš kodování zdroje.

    BTW celý je to padlý, používat češtinu v číselníkových sloupcích je složitější a pokud nehovíš práci s collation a kódováním sloupců tak bys to neměl dělat. A zahoď ten regex a použij místo toho NOT IN klauzuli, tím se nepřipravíš o indexy.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    29.4.2013 16:57 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    Diky rADOne ! jj kodovani pri spojeni je utf8 Kdybych tomu rozumel tak dobre jako ty, tak bych se tak blbe neptal :-) Jinak diky s timto to funguje dobre!

    NOT IN myslis pouzit ve stylu "SELECT id, popis ....WHERE popis NOT IN '....'" ?

    Sloupec popis neni ciselnik ale je v nem ulozeno nekdy az 1000 znaku popisu zbozi a ja chci pri exportu vyloucit ty, ktere v nem maji uvedeno aspon jedno z techto slov.....Nebo to chapu opet spatne (programovanim se vylozene nezivim)?
    rADOn avatar 29.4.2013 18:26 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    Kdyby to byl čísleník, můžeš to napsat takhle:
    …WHERE popis NOT IN ('foo','bar','baz')
    Uvnitř IN může být i subselect který ti třeba překlopí lidské názvy na něco rozumnějšího.
    …WHERE popis NOT IN ( SELECT id FROM foo WHERE … )
    Přitom to může fungovat rychle i nad velkými daty když tam hodíš index. A když nadefinuješ cizí klíč tak máš i zajištěnou referenční integritu.

    LIKE a REGEX použití indexu víceméně vylučují, takže každý dotaz pojede fullscan přes celou tabuli. Někdy se tomu nedá vyhnout, ale podle názvů v tom tvém dotazu soudím že by tam čísleník patřil.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    rADOn avatar 29.4.2013 18:43 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    BTW praktická zkušenost která by se ti jak to tak čtu mohla hodit: když budeš něco ladit tak všechno dovnitř i ven escapuj (var_export nebo print_r nebo tak něco). Jinak se ti snadno stane že se ti něco špatně překóduje když to ukládáš, ale při čtení se to obrátí takže to nevidíš a pak se divíš proč to nejde někomu "záhadně" nejde (protože má jiný kódování v terminálu nebo prohlížeči, což obvykle zjistíš až pozdě).
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    29.4.2013 16:48 Sten
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    Někde (asi v tom skriptu po připojení k databázi) tam asi chybí SQL dotaz SET NAMES kódování
    29.4.2013 16:58 bajt | skóre: 1
    Rozbalit Rozbalit vše Re: prikaz NOT REGEXP v mysql
    je tam presne toto: MySQL_Query("SET NAMES 'utf8'");

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.