Modifica massiva di un campo

di melixo il
2 risposte
Ciao a tutti

Ho una colonna prezzi (varchar che non può essere modifica in INT) dove è tutta così
120.0
oppure
4.9

è possibile in una query modificare tutta la colonna in modo tale che tutto ciò che c'è dal punto in poi venga cancellato?
In modo tale che mi rimangano solamente gli interi?
120
oppure
4

perché non vorrei ciclare tutti i record, fare un explode(.) su tutti i valori ed estrarre la parte di sinistra...
Grazie

2 Risposte

  • Basta una query di UPDATE [CODE]UPDATE Tabella Set CampoPrezzo = LEFT(CampoPrezzo, CHARINDEX('.', CampoPrezzo)-1) Opzionalmente puoi specificare le condizioni WHERE per aggiornare solo alcuni record invece che tutti quelli della tabella.
  • Io mi farei una domanda prima: perchè la vuoi trasformare in INT? Un prezzo può benissimo avere una parte decimale e il tipo di campo adatto a contenere un tale valore dovrebbe essere un DECIMAL, non un INT... Poi, boh, le ragioni per voler fare una cosa del genere non le conosco...
Devi accedere o registrarti per scrivere nel forum
2 risposte