Web pro horních 10 000 www.koncier.cz
Zobrazují se odpovědi 1 až 7 z 7

MySQL skript - Uppercase na lowercase

  1. Caute,

    napada nekoho zpusob, jak by se dal provest update na urovni db, ktery zmeni vsechny slova, ktera jsou UPPERCASem na lowercase?

    - web obsahuje clanky a uvnitr clanku je interni prolinkovani. Vsechny linky a klicova slova jsou uppercasem, coz neni idealni z hlediska readability
    - napada me toto: potrebuju otestovat kazde slovo v kazdem clanku a pokud jsou prvni tri pismena uppercasem, tak cele slovo prevest na lowercase pres funkci LOWER(). Pokud takovym slovem zacina veta, tak prvni pismeno je uppercase a dalsi lower

  2. Co se právě děje na Webtrhu?
  3. Kód:
    update tabulka set stlpec = LOWER(stlpec)

  4. Citace Původně odeslal node Zobrazit příspěvek
    Kód:
    update tabulka set stlpec = LOWER(stlpec)
    To jo :) Potrebuju neco trosku jineho. Pole sloupec je clanek, ktery potrebuju (i) prohledat (ii) najit stringy podle zadani (iii) pak teprve update...bude to nejaky loop. Resil to nekdy nekdo? Wordpress..

  5. Řešením je php pro načtení query, poté zpracovat a odeslat update.
    Přímo dotazem to nelze.

    ---------- Příspěvek doplněn 20.12.2018 v 11:33 ----------

    Předvede se všechen text na malá písmena strtolower.
    Poté se provede explode podle tečky na konci věty. A dále se provede ucfirst a na začátku každého rozděleneho textu se vloží velké písmeno.
    Nakonec se spojí všechny řetězce do jednoho.

    ---------- Příspěvek doplněn 20.12.2018 v 11:35 ----------

    Hotové řešení pouze v poptávce!!!

  6. Citace Původně odeslal jenik1111 Zobrazit příspěvek
    To jo :) Potrebuju neco trosku jineho. Pole sloupec je clanek, ktery potrebuju (i) prohledat (ii) najit stringy podle zadani (iii) pak teprve update...bude to nejaky loop. Resil to nekdy nekdo? Wordpress..
    nj, tldr :D
    jedine si napisat skript ktory prejde vsetky zaznamy. db samotna toto neporiesi.

    mozno: https://stackoverflow.com/questions/...ce-with-update
    Naposledy upravil node : 20.12.2018 v 13:33

  7. trochu jsem vám tady osobní narážky/urážky promazal, držte se tématu a nepřetahujte, kdo je nejlepší :).

    Také nevím, jak to udělat přímo v SQL, leda si udělat dump, vběhnout na to awk/sedem/grepem či scriptem a importovat do databáze. MySQL má procedury a nějakou derivaci PL/SQL, ale není všemocné, tady je hlavní úloha v udělání algoritmu na rozpoznání UPPER case slov a jejich lower casování. Pokud třeba upper case slovo je za tečkou, mělo by nově začínat velkým písmenem.

    Existuje na to spousta různých nástrojů, ale vždy to je potřeba ladit na konkrétních testech a psát si konkrétní pravidla, vyjimky.

    Proč to potřebuješ udělat jen pomoci SQL?

  8. Tomáši dík, promazání beru. Pres SQL to byt urcite nemusi, to me tak napadlo protoze zhruba tusim jak bych na to sel - pres cyklus a REGEXP loopovat nad kazdym slovem a bokem si ulozit dane slovo a jeho pozici v textu. Nasledne zase v loopu updatovat z temp tabulky. Kdyby se nasel nekdo kdo to dokaze jinym zpusobem a usetri mi nejaky cas tak budu rad. Rozpocet: 1-2 tis. Zalozit poptavku nebo to muzu nechat tady?

Hostujeme u Server powered by TELE3