Ik heb een grote table in mysql met waardes, hier staan positieve en negatieve waardes, deze staan in het veld 'values'. Nu is de bedoeling dat alle positieve waardes, negatief worde en alle negatieve gewoon hetzelfde blijven. Ik heb me al een bult gezocht in de mysql handleiding, maar kan het niet vinden. Is dit mogelijk en zo ja hoe?
SQL:
1
| SELECT -ABS(waarde) FROM tabel |
?
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
zoiets?
SQL:
1
| UPDATE tabel SET values=-1*values WHERE values >0 |
[ Voor 27% gewijzigd door [ash] op 04-09-2005 19:04 ]
Verwijderd
SQL:
1
| UPDATE tabel set veldnaam = -veldnaam where veldnaam>0 |
Zo selecteert hij alleen waardes, en dan ook nog eens gewoon alle waardes (dus niet alleen de positieve).
[/quote]SQL:
1 UPDATE tabel SET values=-1*values WHERE values >0
Waarom -1 * values? Waarom niet gewoon -values?
[ Voor 19% gewijzigd door Verwijderd op 04-09-2005 19:56 ]
Maar door de -ABS() is het netto resultaat wel goed: negatief blijft negatief, en positief wordt negatief.Verwijderd schreef op zondag 04 september 2005 @ 19:56:
Zo selecteert hij alleen waardes, en dan ook nog eens gewoon alle waardes (dus niet alleen de positieve).
Ik maakte uit zijn post niet op of het blijvend moest veranderen, of dat het binnen zijn uiteindelijke applicatie alleen maar zo uit moest zien. Verder vergt het natuurlijk niet veel verbeeldingsvermogen om mijn select om te schrijven naar een update.Verwijderd schreef op zondag 04 september 2005 @ 19:56:
Zo selecteert hij alleen waardes, en dan ook nog eens gewoon alle waardes (dus niet alleen de positieve).
Overigens vraag ik me af of een query met een where erin sneller is dan eentje waar je gewoon die -abs methode gebruikt, aangezien er in het laatste geval niets uitgefilterd wordt.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Verwijderd
Bij een update query, en indien het veld geindexeerd is, is de where echt sneller hoor. Louter alleen al omdat hij dan over een minder grote dataset gaat.-NMe- schreef op zondag 04 september 2005 @ 20:11:
Overigens vraag ik me af of een query met een where erin sneller is dan eentje waar je gewoon die -abs methode gebruikt, aangezien er in het laatste geval niets uitgefilterd wordt.
Pagina: 1