Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

MySQL - zelfde string uit elke regel van kolom verwijderen

Pagina: 1
Acties:

  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
Hoi mensen, ik heb een MySQL database met daarin een kolom waarin elke regel eindigt op '€'

Nu wil ik dit stuk uit elke regel halen, maar ik kom er niet helemaal uit.
Ik heb zitten Googlen, maar kom niet verder dan dat ik waarschijnlijk een Substr moet gebruiken.

Wie weet hoe ik dit het best kan aanpakken?

  • _Apache_
  • Registratie: Juni 2007
  • Laatst online: 14:22

_Apache_

For life.

Wat probeer je, via MySql interface of via PHP?

Je kan ook een replace functie gebruiken in PHP..

al gezocht op php.net?

Zero SR/S 17.3kWh / 2.7 kWP PV / Xtend WP 5kW + HRSolar zonneboiler


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 30-11 13:40

Robtimus

me Robtimus no like you

Even snel opgeschreven, niet getest:
UPDATE `tabel` SET `kolom` = SUBSTRING(`kolom`, 0, LENGTH(`kolom`) - LENGTH('€'))

[ Voor 13% gewijzigd door Robtimus op 09-08-2007 12:24 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • JJKiers
  • Registratie: April 2006
  • Laatst online: 09-12-2023
UPDATE [tabel] set [field] = SUBSTR([field], -1) WHERE SUBSTR([field], -1) = '€';

Iets dergelijks moet het zijn denk ik. Vergeet niet om als dat nodig is, ook nog even je constraints aan te passen.

Edit: van de Mysql 5 docs:

http://dev.mysql.com/doc/...s.html#function_substring

mysql> SELECT SUBSTRING('Sakila', -3);
-> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
-> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
-> 'ki'

[ Voor 43% gewijzigd door JJKiers op 09-08-2007 12:27 . Reden: Toevoegen mysql doc ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Of zoiets...
SQL:
1
Update [tabel] set [field] = Left([field], Length([field])-1) Where Right([field],1) = '€';

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
MYSQL heeft mijn voorkeur, maar ik kom er nog steeds niet uit.
Hoe zorg ik ervoor dat het met 1 query voor de hele table gebeurt?
SUBSTR('beschrijving', -6); geeft enkel ijving en niet de laatste 6 tekens uit de cel.. :?

  • b19a
  • Registratie: September 2002
  • Niet online
SUBSTR(`beschrijving`, -6);

Dus: ` voor velden en ' voor strings.

  • JJKiers
  • Registratie: April 2006
  • Laatst online: 09-12-2023
In MySQL: als je geen Limit of WHERE plaatst, dan gebeurt het voor de hele tabel.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Sequence schreef op donderdag 09 augustus 2007 @ 12:44:
MYSQL heeft mijn voorkeur, maar ik kom er nog steeds niet uit.
De juiste oplossingen staan hier gewoon :?
Sequence schreef op donderdag 09 augustus 2007 @ 12:44:
Hoe zorg ik ervoor dat het met 1 query voor de hele table gebeurt?
Geen where-clause opgeven?
Sequence schreef op donderdag 09 augustus 2007 @ 12:44:
SUBSTR('beschrijving', -6); geeft enkel ijving en niet de laatste 6 tekens uit de cel.. :?
Wiedes, je moet niet 'beschrijving' gebruiken maar [kolomnaam]... :X
Laat eens zien wat je tot nu toe hebt?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Sequence
  • Registratie: Maart 2000
  • Laatst online: 27-05-2024

Sequence

Online marketing

Topicstarter
UPDATE `tabel` SET `kolom` = SUBSTRING(`kolom`, 0, LENGTH(`kolom`) - LENGTH('€')) haalde de hele kolom leeg...

Nu maar m'n backup in een textbestand geedit (lang leve replace in notepad :P).. was alleen leuk geweest als ik ook had geweten hoe het in de db had gewerkt. better luck next time

  • _Apache_
  • Registratie: Juni 2007
  • Laatst online: 14:22

_Apache_

For life.

Sequence schreef op donderdag 09 augustus 2007 @ 13:17:
UPDATE `tabel` SET `kolom` = SUBSTRING(`kolom`, 0, LENGTH(`kolom`) - LENGTH('€')) haalde de hele kolom leeg...

Nu maar m'n backup in een textbestand geedit (lang leve replace in notepad :P).. was alleen leuk geweest als ik ook had geweten hoe het in de db had gewerkt. better luck next time
Maak met de export een kopie naar een testomgeving en leef je daar uit, de volgende keer kan het je veel tijd besparen als het aantal records 'ver-tig-voudigd' is.. O-)

Zero SR/S 17.3kWh / 2.7 kWP PV / Xtend WP 5kW + HRSolar zonneboiler

Pagina: 1