OVH Cloud OVH Cloud

Mise en forme d'un float en TSQL

3 réponses
Avatar
Frédéric LAMBOUR
J'ai une table comportant une colonne TauxTva de tpe float. Je souhaite
mettre en forme le résultat en forme avec 2 décimales + le signe %.

Voici mon SELECT

SELECT CAST(CAST(TAUXTVA as money) as varchar) +'%' as AffichageTauxTva
FROM tblTBA

N'y a t-il pas plus simple que de passer par un cast en money pour obtenir
19,60% ?
Si je CAST directement le float en varchar j'obtient 19,6%

Merci pour vos réponse

3 réponses

Avatar
Fred BROUARD
C'est jamais bon de faire du cosmétique en SQL ceci est à faire du côté
client...

A lire sur le sujet :
http://sqlpro.developpez.com/SQL_AZ_E.html#Cosmos

A +

Frédéric LAMBOUR a écrit:
J'ai une table comportant une colonne TauxTva de tpe float. Je souhaite
mettre en forme le résultat en forme avec 2 décimales + le signe %.

Voici mon SELECT

SELECT CAST(CAST(TAUXTVA as money) as varchar) +'%' as AffichageTauxTva
FROM tblTBA

N'y a t-il pas plus simple que de passer par un cast en money pour obtenir
19,60% ?
Si je CAST directement le float en varchar j'obtient 19,6%

Merci pour vos réponse






--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
bruno reiter [MVP]
tu ne pourras pas échapper à un double convert (ou cast) car il faut concaténer.

Par contre l'utilisation du float pour un taux de TVA est 'suicidaire'
Essaie ça :

declare @tt float
set @tt = 19.6
select @tt
select convert(varchar(8),convert(decimal(5,2),@tt)) + '%'

br

"Frédéric LAMBOUR" wrote in message
news:
J'ai une table comportant une colonne TauxTva de tpe float. Je souhaite
mettre en forme le résultat en forme avec 2 décimales + le signe %.

Voici mon SELECT

SELECT CAST(CAST(TAUXTVA as money) as varchar) +'%' as AffichageTauxTva
FROM tblTBA

N'y a t-il pas plus simple que de passer par un cast en money pour obtenir
19,60% ?
Si je CAST directement le float en varchar j'obtient 19,6%

Merci pour vos réponse





Avatar
Frédéric LAMBOUR
Merci, tu as raison.
"bruno reiter [MVP]" a écrit dans le message
de news:%
tu ne pourras pas échapper à un double convert (ou cast) car il faut


concaténer.

Par contre l'utilisation du float pour un taux de TVA est 'suicidaire'
Essaie ça :

declare @tt float
set @tt = 19.6
select @tt
select convert(varchar(8),convert(decimal(5,2),@tt)) + '%'

br

"Frédéric LAMBOUR" wrote in message
news:
> J'ai une table comportant une colonne TauxTva de tpe float. Je souhaite
> mettre en forme le résultat en forme avec 2 décimales + le signe %.
>
> Voici mon SELECT
>
> SELECT CAST(CAST(TAUXTVA as money) as varchar) +'%' as AffichageTauxTva
> FROM tblTBA
>
> N'y a t-il pas plus simple que de passer par un cast en money pour


obtenir
> 19,60% ?
> Si je CAST directement le float en varchar j'obtient 19,6%
>
> Merci pour vos réponse
>
>
>