[MySQL] values die + zijn, - maken

Pagina: 1
Acties:

  • Stalkert
  • Registratie: Januari 2001
  • Laatst online: 06-08-2025
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?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

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.


  • [ash]
  • Registratie: Februari 2002
  • Laatst online: 05-04-2025

[ash]

Cookies :9

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
-NMe- schreef op zondag 04 september 2005 @ 19:01:
SQL:
1
SELECT -ABS(waarde) FROM tabel

?
Zo selecteert hij alleen waardes, en dan ook nog eens gewoon alle waardes (dus niet alleen de positieve).
SQL:
1
UPDATE tabel SET values=-1*values WHERE values >0
[/quote]

Waarom -1 * values? Waarom niet gewoon -values?

[ Voor 19% gewijzigd door Verwijderd op 04-09-2005 19:56 ]


  • Onno
  • Registratie: Juni 1999
  • Niet online
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).
Maar door de -ABS() is het netto resultaat wel goed: negatief blijft negatief, en positief wordt negatief.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

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.

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

-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. :)
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.
Pagina: 1