Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    Numero di decimali in una query sql

    Ciao a tutti....
    Ho creato una query che mi visualizza gli importi delle bollette telefoniche...
    Questi importi li salvo in una tabella access in un campo number -single in cui, impostando il numero di decimali da visualizzare pari a 2, vengono riportati correttamente gli importi .
    Ma quando con una query cerco di recuperare i dati, gli importi vengono visualizzati con un numero assurdo di decimali ( e spesso inventati es ho 2,55 € e diventa 2,54993934394434).
    Oviamente non mi va bene e volevo sapere come risolvere questo inconveniente, sopratutto se si può/deve fare nella query sql oppure se si deve fare via software.

    ecco la query

    codice:
    SELECT dettagli_linea.idlinea, sede.città, sede.indirizzo, Linea.numero, Sum(dettagli_linea.spesa) AS totale, dettagli_linea.idbimestre
    FROM sede INNER JOIN (Linea INNER JOIN dettagli_linea ON Linea.idlinea = dettagli_linea.idlinea) ON sede.idsede = Linea.idsede
    GROUP BY dettagli_linea.idlinea, sede.città, sede.indirizzo, Linea.numero, dettagli_linea.idbimestre
    ORDER BY sede.città, sede.indirizzo, Linea.numero, dettagli_linea.idbimestre;

    A specifico che l'importo originale è esatto nel formato #,## e non riesco a capacitarmi di come possa poi la query trasformare tali valori in numeri con "infiniti" decimali

  2. #2
    sql ha la funzione decimal(espressione,numdecimali)
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    ok, ho provato con decimal...ma mi dava errore...
    facendo l'help ho trovato il round che mi pare faccia la stessa cosa e in effetti mi risolve il problema....

    Grazie per la dritta

    Sai percaso il motivo di questa trasformazione in numeri con tutti quei decimali?? Con quale logica effetua tale trasformazione??

    ecco la query

    codice:
    SELECT [dettagli_linea].[idlinea], sede.città, sede.indirizzo, [Linea].[numero], round(Sum([spesa]),2) AS totale, [dettagli_linea].[idbimestre] 
    FROM sede INNER JOIN (Linea INNER JOIN dettagli_linea ON [Linea].[idlinea]=[dettagli_linea].[idlinea]) ON sede.idsede=[Linea].[idsede]
    GROUP BY [dettagli_linea].[idlinea], sede.città, sede.indirizzo, [Linea].[numero], [dettagli_linea].[idbimestre]
    ORDER BY sede.città, sede.indirizzo, [Linea].[numero], [dettagli_linea].[idbimestre];

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    Finchè eseguivo la query in acces tutto ok.
    Adesso sto aprendo la query via codice ( SQL = "select ..." )
    e mi da errore !!
    [Microsoft][ODBC Microsoft Access Driver] Syntax error in query expression 'round(Sum(tabella.campo),2)'.

    La stessa query incollata in access va che è una meraviglia.
    Come mai?? Come posso risolvere

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    up

  6. #6
    prova a usare decimal(valore,numero)
    questa è la funzione sql standard
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    l'avevo già provato, ma il risultato non cambia.
    Anzi, con decimal non funziona nemmeno nelle query di access

    ma sto per caso sbagliando qualche spazio o carattere??

    decimal(Sum(dettagli_linea.spesa),2) AS Tot

    e

    round(Sum(dettagli_linea.spesa),2) AS Tot
    (scritto così viene eseguito in access, ma non con vb)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.