J'ai ces données en tant que varchar '00072330'. Comment puis-je le convertir en une décimale qui ressemble à '723.30' dans SQL Server 2008?Conversion de varchar en décimal en serveur sql 2008
3
A
Répondre
9
Essayez ceci:
declare @data as varchar(8)
set @data = '00072330'
print cast(@data as decimal)/100
3
Ce:
SELECT CAST('00072330' AS INT)/100.0
... vous donnera:
723,300000
Le .0 est important, sinon SQL Server effectuera maths entiers.
Questions connexes
- 1. SQL Server 2008 Conversion VARCHAR (50) à Uniqueidentifier
- 2. Conversion de décimal en caractère ASCII
- 3. Conversion de données de nvarchar en varchar en C#
- 4. Conversion d'un nombre décimal en binaire
- 5. Conversion de SQL en HQL
- 6. séquence nextval pour varchar en sql?
- 7. Conversion de datetime XML en datetime SQL
- 8. Conversion implicite de varchar à Varbinary comment?
- 9. Conversion de format de date en SQL
- 10. Arrondir DECIMAL (14,3) au troisième chiffre décimal dans SQL 2008
- 11. conversion d'expression SQL de groupe en LINQ
- 12. Conversion hexadécimale en décimale commune
- 13. Conversion entre différentes unités de mesure en SQL (en Access)
- 14. SQL Update varchar à date erreur
- 15. Oracle: Comment convertir un hex en décimal dans Oracle SQL?
- 16. Convertir une chaîne en entier avec décimal en Python
- 17. Comaprison décimal en script Java
- 18. SQL Server VARCHAR (10)
- 19. Conversion de type en C#
- 20. Opérateurs arithmétiques contre les données varchar dans le serveur SQL
- 21. Comment convertir le convertisseur SQL (varchar, datefield, 106) en LINQ?
- 22. Problèmes de mise en miroir SQL 2008
- 23. Conversion d'une chaîne en HEX dans SQL
- 24. Comment convertir Varchar en Datetime?
- 25. LINQ to SQL décimal Paramètre
- 26. Mise en miroir SQL 2008, en état de "restauration"
- 27. En SQL comment puis-je convertir un type de données monétaire en nombre décimal?
- 28. Mise en forme de l'alignement décimal en Python
- 29. Conversion d'un site Web VS 2008 en projet d'application Web
- 30. Conversion du projet Visual Studio 2008 en 2003
.0 est requis car vous avez casté en int; lancer en décimal ne l'exige pas –
Oui, mais pourquoi ne pas être plus explicite lorsque vous lancez en décimal? Si vous savez que vous êtes limité à 8 caractères (deux décimales), je préférerais voir AS DECIMAL (8,2) plutôt que AS DECIMAL. YMMV. –
Je pense que le point de la conversion est parce que la précision n'est pas cohérente. Mais vous faites un bon point sur la définition de la précision sur le casting/convertir. Je ne suis toujours pas à jour sur mes types de données SQL Server. –