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
App. WinForms / WPF .NET
Itruzione sum in sql con formattazione
martedì 14 dicembre 2004 - 20.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mar 14 dic 2004 - 20:15
ragazzi io ho eseguito questa istruzione sql che funziona benissimo:
INSERT INTO stampa_totvalori
(valore_1) select sum(articoli.prezzoacquisto) from articoli
solo che il record articoli.prezzoacquisto contiene dei valori in euro e quindi dei decimali, se io utilizzo l'istruzione sql che vi ho appena postato se ci sono i seguenti valori:(5,00 - 33,33 - 10,00) come risulato mi esce 48 anzichè 48,33...come posso formattare il campo articoli.prezzoacquisto tenendo presente che un campo varchar di mysql?
Ciao
Fabio
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 15 dic 2004 - 09:52
Ciao Trinity,
immagino che anche in MySQL ci siano istruzioni come la CONVERT o la CAST di SQL Server per convertire i valori.
Inoltre se fai la somma di numeri, perchè li vai ad inserire in un campo varchar ?
ciao
david
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 15 dic 2004 - 10:02
Il discorso è che utilizzo il campo varchar perchè essendo valori in formato euro è l'unico modo per poter visualizzare i decimali (es: . 30,56) ho provato il decimal, double e il numeric di mysql ma niente..o almeno io non ci sono riuscito...se hai qualche esempio da farmi vedere anche sul convert te ne sarei grado..
Ciao
Fabio
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 16 dic 2004 - 00:02
Il decimal o il currency dovrebbero andare bene trattandosi di euro.
Poi dipende anche come lo formatti con .NET, prova con .ToString("C")
ciao
david
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 16 dic 2004 - 09:45
Il discorso è proprio sul record di mysql che io gli passo un valore del tipo 30,56 e mi salva solo 30 se uso il campo decimal oppure double...se utilizzo il campo float i dati devono essere salvati con il punto anzichè la virgola così 33.33 ma non mi ricordo la formattazione dal valore 33,33 che visualizzo sulla form al valore 33.33 da passare a mysql, perchè se lascio così cioè con la virgola non mi salva nel modo corretto ma bensì cos' 33
Ti ricordi il tipo di formattazione che devo utilizzare per passare da 33,33 a 33.33
Ciao
Fabio
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 16 dic 2004 - 16:29
Ciao,
ma hai provato a costruire la query col valore numerico?
cioe se in una text hai 33,33 prima convertilo in double e poi costruisci la query usando quest'ultimo di valore... oltretutto immagino che già userai una classe o routine per il controllo di ciò che è stato immesso nei campi.
In questo modo puoi usare campi decimal e non varchar nel db.
L'esecuzione dei comandi sum avg ecc... rallentano le query e di molto poichè per ogni singola riga il dbms deve convertire prima il valore e poi sommarlo... e se poi hai inserito qualche lettera.....
ysdemarc
Profilo
| Expert
587
messaggi | Data Invio:
gio 16 dic 2004 - 16:30
comunque se non converti in numerico per cambiare i punti in virgola puoi usare la Replace
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
gio 16 dic 2004 - 18:48
Si come dici te ci ho provato ma proprio il db di mysql non mi accetta la vrgola nel double, cmq con il replace sapevo che potevo convertire..
Grazie dell'aiuto
Ciao
Fabio
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 !