[MySQL] value wijzigen (karakter weghalen)

Pagina: 1
Acties:

  • Stalkert
  • Registratie: Januari 2001
  • Laatst online: 06-08-2025
Ik heb een database die er ongeveer zo uit ziet:

klantnr:
1002h
1004
10006h
100002
12333h

Nu wil ik in een mysql query overal de H weghalen. Is dit mogeljk? Het gaat namelijk om nogal wat values dus handmatig aanpassen is geen optie.

de values moeten dus zo worden:
1002
1004
10006
100002
12333

iemand een idee?

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 19:47
Misschien kun je met een charindex kijken op welke positie de h staat en en dan aan de hand van deze index een substring maken zodat je deze kan updaten.

stp - PSN ID: stp_4


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Alleen MySQL gaat niet lukken (denk ik), je kan ieder klantnummer ophalen, dan de laatste letter eraf kappen en dan er terug inplaatsen: je zou dit zo kunnen doen (php)
code:
1
2
3
4
5
6
7
8
9
10
<?php
$sql = "SELECT * FROM klantenlijst";
while ($rij = mysql_mysql_fetch_array($sql)) {
         $klantnummer = $rij['klantnummer'];
         if ( substr($klantnummer,-1,1) == "h" ) {
                  $klantnummernieuw = substr($klantnummer,0,-1);
                  mysql_query("UPDATE klantenlijst SET klantnummer = '".$klantnummernieuw."' WHERE klantnummer = '".$klantnummer."'" ); //update het klantnummer 
         }
}
?>


onder voorbehoud natuurlijk :+

[ Voor 28% gewijzigd door Snake op 14-09-2005 20:05 . Reden: bugfixjes ]

Going for adventure, lots of sun and a convertible! | GMT-8


Verwijderd

SQL:
1
2
3
4
5
6
UPDATE
   tabelletje
SET
   klantnr = LEFT(klantnr, LENGTH(klantnr) - 1)
WHERE
   klantnr LIKE '%h'


Zoiets moet het wel doen. Zie de standaard string functies.

  • stp_4
  • Registratie: Maart 2003
  • Laatst online: 19:47
snake903 schreef op woensdag 14 september 2005 @ 20:04:
Alleen MySQL gaat niet lukken (denk ik), je kan ieder klantnummer ophalen, dan de laatste letter eraf kappen en dan er terug inplaatsen: je zou dit zo kunnen doen (php)
code:
1
2
3
4
5
6
7
8
9
10
<?php
$sql = "SELECT * FROM klantenlijst";
while ($rij = mysql_mysql_fetch_array($sql)) {
         $klantnummer = $rij['klantnummer'];
         if ( substr($klantnummer,-1,1) == "h" ) {
                  $klantnummernieuw = substr($klantnummer,0,-1);
                  mysql_query("UPDATE klantenlijst SET klantnummer = '".$klantnummernieuw."' WHERE klantnummer = '".$klantnummer."'" ); //update het klantnummer 
         }
}
?>


onder voorbehoud natuurlijk :+
Met de Substring_Index en wat subselects zelf moet het ook wel lukken denk. (mocht 'h' niet altijd als laatste voorkomen)

[ Voor 10% gewijzigd door stp_4 op 14-09-2005 20:10 ]

stp - PSN ID: stp_4


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

de h komt toch altijd als laatste voor niet?

anders str_replace("h","",$var);

Going for adventure, lots of sun and a convertible! | GMT-8


  • MisterICE
  • Registratie: April 2004
  • Laatst online: 23-03 19:14
snake903 schreef op woensdag 14 september 2005 @ 20:11:
de h komt toch altijd als laatste voor niet?

anders str_replace("h","",$var);
Die zit niet standaard in MySQL dacht ik

Verwijderd

excuses

[ Voor 94% gewijzigd door Verwijderd op 15-09-2005 12:25 ]


Verwijderd

Mensen, de topicstarter zegt helemaal nergens dat hij gebruik kan maken van PHP. En zij die een klein beetje van SQL weten, weten ook dat dat helemaal nergens voor nodig is. Dit is een vrij simpel probleem. Maar begin dus niet over PHP.

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 16-01 10:59

thomaske

» » » » » »

MisterICE schreef op woensdag 14 september 2005 @ 20:33:
[...]


Die zit niet standaard in MySQL dacht ik
REPLACE() daarentegen wel

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."

Pagina: 1