Comment convertir Varchar Double en sql?
J'ai un problème avec ma requête quand j'ai essayé de convertir le champ de type varchar double (numérique). J'ai cette instruction sql:
SELECT fullName, CAST(totalBal as numeric(9,2) FROM client_info ORDER BY totalBal DESC
En fait, je veux afficher les valeurs de totalBal
dans l'ordre décroissant. Mais depuis que le champ est de type varchar, le jeu de résultats est parfois mal. C'est le jeu de résultats quand j'ai essayé de requête à l'aide de cette déclaration:
SELECT fullName, totalBal FROM client_info ORDER BY totalBal DESC
Resultset est:
Le tri des totalBal
n'est pas correct. J'ai donc décidé de convertir le type varchar numérique, de sorte qu'il pourrait être triés à la perfection. Une idée?
OriginalL'auteur Jay Marz | 2013-01-24
Vous devez vous connecter pour publier un commentaire.
utilisation
DECIMAL()
ouNUMERIC()
comme ils sont fixés précision et l'échelle des nombres.SELECT fullName, CAST( totalBal AS DECIMAL( 9, 2 ) ) AS totBal FROM client_info ORDER BY totBal DESC
vous êtes les bienvenus
:D
OriginalL'auteur John Woo
Cela pourrait être plus souhaitable, c'est d'utiliser float au lieu
La question est à propos SQL, pas à propos de MySQL et JETÉ comme flotteur est SQL valide.
La première balise en question est
mysql
donc c'était peut-être mon mauvais j'ai réponduMSSQL
version.OriginalL'auteur Hammad Khan