Likes Likes:  0
Resultaten 1 tot 14 van de 14
Geen
  1. #1
    Geert Serneels
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [mysql] hele kolom aanpassen

    Kan ik in een kolom voor alle records dezelfde aanpassing doen dmv één slq
    commando?

    Ik wil in een tabel met telefoonnrs alle +32 x xxxxxx vervangen door 0x
    xxxxxx

    Is dit mogelijk en hoe?
    (ik maak gebruik van phpMyAdmin)

    alvast bedankt

    Geert

  2. #2
    uws
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    [Let op: unwrapped lines!]

    I <Xns932D2DDF2F22geertserneelsgmxnet@195.130.132.65 >, Geert Serneels skrev:
    > Ik wil in een tabel met telefoonnrs alle +32 x xxxxxx vervangen door 0x
    > xxxxxx
    > Is dit mogelijk en hoe?


    Ja, het is natuurlijk mogelijk maar volgens mij niet direct met MySQL.
    Je kunt wel heel simpel een perl of php scriptje schrijven dat alle
    records itereert en update. Een voorbeeld in php:

    $result = mysql_query("SELECT `id`, `nummer` FROM `bla`");
    while (list ($id, $nummer) = mysql_fetch_row($result)) {
    $nummer = eregi_replace("^\+32", "0", $nummer);
    mysql_query("UPDATE `bla` SET `nummer` = '$nummer' WHERE `id` = '$id') ?
    print "ID $ID update geslaagd" :
    print "ID $ID update gefaald";
    }

    Ja, het is lelijke code met die ternary operator en zonder, maar dat maakt niet
    uit nu :-p en ja, het is uiteraard ongetest dus niets gegarandeerd...
    --
    uws mail uws@xs4all.nl

    de welvaartstaat? :: of die bestaat? :: ze vraagt zich echt af -- monza

  3. #3
    Hans Wolters
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    On Mon, 24 Feb 2003 23:16:54 GMT, Geert Serneels <geert.serneels_NO@SPAM_gmx.net> wrote:
    > Kan ik in een kolom voor alle records dezelfde aanpassing doen dmv één slq
    > commando?
    >
    > Ik wil in een tabel met telefoonnrs alle +32 x xxxxxx vervangen door 0x
    > xxxxxx
    >
    > Is dit mogelijk en hoe?


    Je wilt de spaties eruit halen?

    Hans
    --
    Ik wil http://www.linux.nl wel overnemen voor het symbolische bedrag
    van 1 EURO.

  4. #4
    Geert Serneels
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Hans Wolters <hans@e35203.upc-e.chello.nl> wrote in
    news:slrnb5lahk.2ak.hans@foo.bar:

    > On Mon, 24 Feb 2003 23:16:54 GMT, Geert Serneels
    > <geert.serneels_NO@SPAM_gmx.net> wrote:
    >> Kan ik in een kolom voor alle records dezelfde aanpassing doen dmv
    >> één slq commando?
    >>
    >> Ik wil in een tabel met telefoonnrs alle +32 x xxxxxx vervangen door
    >> 0x xxxxxx
    >>
    >> Is dit mogelijk en hoe?

    >
    > Je wilt de spaties eruit halen?


    nee, ik heb nu alles in de internationale notatie staan, maar men heeft
    gevraagd om het enkel met zonenummer te doen dus iets als 03 123 45 67
    ipv +32 3 123 45 67

    Geert

  5. #5
    henq
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    zeker, sql is ontworpen om loops te voorkomen.

    iets als

    UPDATE telephonenumbers SET tel = CONCAT('0', RIGHT(tel, 8))

    zou het m.i. moeten doen.

    ~henq


    "Geert Serneels" <geert.serneels_NO@SPAM_gmx.net> schreef in bericht
    newsns932D2DDF2F22geertserneelsgmxnet@195.130.132.65.. .
    > Kan ik in een kolom voor alle records dezelfde aanpassing doen dmv één slq
    > commando?
    >
    > Ik wil in een tabel met telefoonnrs alle +32 x xxxxxx vervangen door 0x
    > xxxxxx
    >
    > Is dit mogelijk en hoe?
    > (ik maak gebruik van phpMyAdmin)
    >
    > alvast bedankt
    >
    > Geert




  6. #6
    Daniel Tryba
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    uws <uws@nospam-xs4all.nl> wrote:
    > $result = mysql_query("SELECT `id`, `nummer` FROM `bla`");
    > while (list ($id, $nummer) = mysql_fetch_row($result)) {
    > $nummer = eregi_replace("^\+32", "0", $nummer);
    > mysql_query("UPDATE `bla` SET `nummer` = '$nummer' WHERE `id` = '$id') ?
    > print "ID $ID update geslaagd" :
    > print "ID $ID update gefaald";
    > }


    > Ja, het is lelijke code met die ternary operator en zonder, maar dat
    > maakt niet uit nu :-p en ja, het is uiteraard ongetest dus niets
    > gegarandeerd...


    Die operator is niet het probleem ,dat je zooi checked in PHP welke je
    al had kunnen uitbesteden aan mysql en daarmee heel wat onzinngige rijen
    had kunnen voorkomen is erger. Verder controleer je niet eens of er
    uberhaupt wordt voldaan aan de regexp en pas je dus _elke_ rij aan ook
    indien er niets aan veranderd is.

    Op http://www.mysql.com/doc/en/String_functions.html staan een boel
    interessante functies, iets als

    update foo set nummer=replace(nummer,'+32','0') where nummer like '+32%'

    zou wel eens de gezocht oplossing kunnen zijn.

    --

    Daniel Tryba


  7. #7
    Jaap-Andre de Hoop
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    In article <Xns932D61BDFEADgeertserneelsgmxnet@195.130.132.65 >, Geert Serneels <geert.serneels_NO@SPAM_gmx.net> wrote:
    >Hans Wolters <hans@e35203.upc-e.chello.nl> wrote in
    >
    >nee, ik heb nu alles in de internationale notatie staan, maar men heeft
    >gevraagd om het enkel met zonenummer te doen dus iets als 03 123 45 67
    >ipv +32 3 123 45 67


    hmmm tijd om dat landcode even in een apart veld op te slaan? Stel dat ze
    volgende week weer terugwillen..... Alhoewel alleen +32 hoefde vervangen
    te worden..... +32 is dat belgenland of ben je in de war en moet het +31
    zijn?

    Jaap-Andre

  8. #8
    Geert Serneels
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    doemaarietsanders@data-assist.nl (Jaap-Andre de Hoop) wrote in
    news:YPE6a.401868$B7.14474218@Flipper:

    > In article <Xns932D61BDFEADgeertserneelsgmxnet@195.130.132.65 >, Geert
    > Serneels <geert.serneels_NO@SPAM_gmx.net> wrote:
    >>Hans Wolters <hans@e35203.upc-e.chello.nl> wrote in
    >>
    >>nee, ik heb nu alles in de internationale notatie staan, maar men
    >>heeft gevraagd om het enkel met zonenummer te doen dus iets als 03 123
    >>45 67 ipv +32 3 123 45 67

    >
    > hmmm tijd om dat landcode even in een apart veld op te slaan? Stel dat
    > ze volgende week weer terugwillen..... Alhoewel alleen +32 hoefde
    > vervangen te worden..... +32 is dat belgenland of ben je in de war en
    > moet het +31 zijn?
    >
    > Jaap-Andre
    >


    +32 id idd België. Momenteel zijn alle nummers (op mss een uitzondering na)
    Belgisch (dus +32).

    Ik denk er juist aan om de notate mss te veranderen in +32-3-1234567 en dan
    dmv het php-script enkel zonenummer en nummer zelf eruit te halen (ik denk
    zo aan exclude()). Nu herinner ik me dat ik ooit een gelijkaardig script
    heb gemaakt.
    Maar dan moet ik de eerste en tweee spatie kunnen vervangen door een '-' en
    de andere spaties wegwerken.
    Op die manier kan ik idd altijd makkelijk terug zonder opnieuw hele tabel
    te veranderen.

    Kunnen jullie me hierbij helpen? Ik vrees dat de methode van Daniel Tryba
    niet zal lukken als ik enkele spaties wil omzetten in '-' en anderen
    verwijderen.

    Alvast bedankt,
    Geert

  9. #9
    Daniel Tryba
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Geert Serneels <geert.serneels_NO@spam_gmx.net> wrote:
    > Kunnen jullie me hierbij helpen? Ik vrees dat de methode van Daniel Tryba
    > niet zal lukken als ik enkele spaties wil omzetten in '-' en anderen
    > verwijderen.


    Zonder het getest te hebben: waarom zou het niet lukken? Je weet immers
    dat de spaties die je wilt om,zetten in de eerst 6 characters zit.
    Reactief gebruik van concat,substr en replace zou dus het gewenste
    resultaat moeten kunnen opleveren.

    --

    Daniel Tryba


  10. #10
    Geert Serneels
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote in
    news:b3gst1$mn6$1@news.tue.nl:

    > Geert Serneels <geert.serneels_NO@spam_gmx.net> wrote:
    >> Kunnen jullie me hierbij helpen? Ik vrees dat de methode van Daniel
    >> Tryba niet zal lukken als ik enkele spaties wil omzetten in '-' en
    >> anderen verwijderen.

    >
    > Zonder het getest te hebben: waarom zou het niet lukken? Je weet
    > immers dat de spaties die je wilt om,zetten in de eerst 6 characters
    > zit. Reactief gebruik van concat,substr en replace zou dus het
    > gewenste resultaat moeten kunnen opleveren.
    >


    ehm, blijkbaar is mysql toch niet zo makkelijk, substr ken ik wel, replace
    snap ik nu ook, maar hoe die moet gaan combineren?
    en van concat snap ik niks (ik heb de docs gelezen die je in een vorige
    post gaf)

  11. #11
    Daniel Tryba
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Geert Serneels <geert.serneels_NO@spam_gmx.net> wrote:
    >> Zonder het getest te hebben: waarom zou het niet lukken? Je weet
    >> immers dat de spaties die je wilt om,zetten in de eerst 6 characters
    >> zit. Reactief gebruik van concat,substr en replace zou dus het
    >> gewenste resultaat moeten kunnen opleveren.
    >>

    >
    > ehm, blijkbaar is mysql toch niet zo makkelijk, substr ken ik wel, replace
    > snap ik nu ook, maar hoe die moet gaan combineren?
    > en van concat snap ik niks (ik heb de docs gelezen die je in een vorige
    > post gaf)


    Het is echt heel simpel hoor (zal maar niet vertellen dat ik ongeveer 5
    minuten heb moeten zoeken naar het feit dat substring(bla,0,6) niets
    oplevert

    Maar als je bv PHP een beetje door hebt dan blijkt dat mysql (bijna)
    precies het zelfde werkt. substring levert een string op en kan dus als
    input voor een replace worden gebruikt, welke weer een string oplevert
    en dus aan concat kan worden doorgegeven. Even goed groeperen en haakjes
    er om en je krijgt het volgende:

    mysql> create table test (bla VARCHAR(255));
    Query OK, 0 rows affected (0.00 sec)

    mysql> insert into test values ('+32 1 234 567 90');
    Query OK, 1 row affected (0.00 sec)

    mysql> select * from test;
    +------------------+
    | bla |
    +------------------+
    | +32 1 234 567 90 |
    +------------------+
    1 row in set (0.00 sec)

    mysql> update test set bla=concat(replace(substring(bla,1,6)," ","-"),substring(
    bla,7)) where bla like '+32%';
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    mysql> select * from test;
    +------------------+
    | bla |
    +------------------+
    | +32-1-234 567 90 |
    +------------------+
    1 row in set (0.00 sec)

    mysql>


    --

    Daniel Tryba


  12. #12
    Geert Serneels
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote in
    news:b3h053$o0o$1@news.tue.nl:

    > Geert Serneels <geert.serneels_NO@spam_gmx.net> wrote:
    >>> Zonder het getest te hebben: waarom zou het niet lukken? Je weet
    >>> immers dat de spaties die je wilt om,zetten in de eerst 6 characters
    >>> zit. Reactief gebruik van concat,substr en replace zou dus het
    >>> gewenste resultaat moeten kunnen opleveren.
    >>>

    >>
    >> ehm, blijkbaar is mysql toch niet zo makkelijk, substr ken ik wel,
    >> replace snap ik nu ook, maar hoe die moet gaan combineren?
    >> en van concat snap ik niks (ik heb de docs gelezen die je in een
    >> vorige post gaf)

    >
    > Het is echt heel simpel hoor (zal maar niet vertellen dat ik ongeveer
    > 5 minuten heb moeten zoeken naar het feit dat substring(bla,0,6) niets
    > oplevert
    >
    > [uitleg]


    Bedankt, het is gelukt.

    Enkel de functie concat begrijp ik niet. (ook niet met de uitleg op
    mysql.com).

    mvg, Geert


  13. #13
    Daniel Tryba
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    Geert Serneels <geert.serneels_NO@spam_gmx.net> wrote:
    > Enkel de functie concat begrijp ik niet. (ook niet met de uitleg op
    > mysql.com).


    concat is een afkorting voor concatenate:

    $ webster concatenate
    1 definition found

    From Webster's Revised Unabridged Dictionary (1913) [web1913]:

    Concatenate \Con*cat"e*nate\ (k[o^]n*k[a^]t"[-e]*n[=a]t), v. t.
    [imp. & p. p. {Concatenated}; p. pr. & vb. n.
    {Concatenating}.] [L. concatenatus, p. p. of concatenare to
    concatenate. See {Catenate}.]
    To link together; to unite in a series or chain, as things
    depending on one another.

    This all things friendly will concatenate. --Dr. H.
    More

    In simpel Nederlands: samenvoegen (in dit geval van strings).

    --

    Daniel Tryba


  14. #14
    henq
    [mysql] hele kolom aanpassen
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [mysql] hele kolom aanpassen

    hint:

    concat('hoer','a') -> 'hoera'
    concat('hoer','b') -> 'hoerb'

    sorry, beetje melig :-)

    "Geert Serneels" <geert.serneels_NO@SPAM_gmx.net> schreef in bericht
    > Enkel de functie concat begrijp ik niet. (ook niet met de uitleg op
    > mysql.com).
    >
    > mvg, Geert
    >




Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics