Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
[MySQL]Comando UPDATE e DATATYPE
mercoledì 14 novembre 2007 - 08.14
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Hope
Profilo
| Junior Member
71
messaggi | Data Invio:
mer 14 nov 2007 - 08:14
Salve ragazzi,piccolo problemino...
Ho una colonna con dei numeri alla quale vorrei aggiungere "GB" o "MB" in base alla dimensione dei numeri,si può con il comando UPDATE dirgli che se un valore supera tale cifra deve aggiungere GB e se è minore deve metterci MB?
Altra domanda:
Ho un datatype numerico,se lo metto come DECIMAL lui me l'arrotonda benissimo,ma se il campo è sia numerico che stringa mi va in errore (giustamente) con datatype DECIMAL,c' è un modo per far arrotondare un numero che abbia anche una stringa? (nel mio caso "GB" o "MB")
Grazie a tutti...
Saluti
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 14 nov 2007 - 08:20
>Ho una colonna con dei numeri alla quale vorrei aggiungere "GB"
>o "MB" in base alla dimensione dei numeri,si può con il comando
>UPDATE dirgli che se un valore supera tale cifra deve aggiungere
>GB e se è minore deve metterci MB?
Ciao Hope,
se il datatype di quella colonna è numerico potrai ovviamente inserire solo numeri, pertanto non è possibile fare quello che chiedi.
>Ho un datatype numerico,se lo metto come DECIMAL lui me l'arrotonda
>benissimo,ma se il campo è sia numerico che stringa mi va in
>errore (giustamente) con datatype DECIMAL,c' è un modo per far
>arrotondare un numero che abbia anche una stringa? (nel mio caso
>"GB" o "MB")
Un data type non può essere "sia numerico che stringa", quindi tutto il discorso decade.
Quell'operazione falla lato client, oppure se per te è importante averla nel db aggiungi una nuova colonna char(2) che conterrà l'unità di misura.
>Grazie a tutti...
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Hope
Profilo
| Junior Member
71
messaggi | Data Invio:
mer 14 nov 2007 - 08:31
Grazie,immaginavo questa risposta,ma un pò speravo nel mistero dell'informatica
...
Proverò a fare come dici..anche se ormai la vedo dura...perchè quella colonna è già popolata con il valore numerico espresso in byte,a convertirlo con UPDATE va bene,ma poi il problema è sempre l'aggiunta di GB o MB...
Vi faccio sapere come è andata a finire...
grazie ancora...
buona giornata
Saluti
Hope
Profilo
| Junior Member
71
messaggi | Data Invio:
mer 14 nov 2007 - 10:32
Allora ho modificato il campo in VARCHAR..ora perchè se eseguo questo comando UPDATE mi da errore?
UPDATE tabella
SET colonna1= colonna1 / 1024 \ 1024 \ 1024 + 1
Mi genera un'errore di sintassi...mentre così
funziona alla grande
UPDATE Tabella
SET colonna = colonna / 1073741824
Dove sbaglio?
grazie..
Saluti
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 14 nov 2007 - 11:09
>Allora ho modificato il campo in VARCHAR..
Bruttissima scelta. Memorizzare numeri in colonne stringa potrebbe portare ad archiviare un sacco di "sporcizia". Inoltre perdi i vantaggi di storage e prestazionali relativi a questi data type.
> ora perchè se eseguo
>questo comando UPDATE mi da errore?
>
>UPDATE tabella
>SET colonna1= colonna1 / 1024 \ 1024 \ 1024 + 1
>
>Mi genera un'errore di sintassi...mentre così
>funziona alla grande
>UPDATE Tabella
>SET colonna = colonna / 1073741824
Ma tu i dati no li hai già espressi in MB/GB?!
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Hope
Profilo
| Junior Member
71
messaggi | Data Invio:
mer 14 nov 2007 - 11:19
Avevo messo varchar credendo poi di poter aggiungere a mano MB o GB.
Si i valori l'avevo espressi in GB o MB ma non erano valori arrotondati,e quindi non mi andavano bene...
Volevo eseguire quella query per arrotondarli e poi aggiungere a mano GB o MB...
In questo post avevo chiesto come fare (
http://www.dotnethell.it/forum/messages.aspx?ThreadID=19377
),e funziona lato VB quindi con le nuove informazioni è OK...ma con quelle vecchie (quelle già caricate nel DB)volevo fare una cosa simile ma con il comando UPDATE
ragazzi scusate per le domande sceme,non me ne vogliate,ma sto veramente agli inizi su un progetto che termina a breve
grazie ancora
Saluti
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !