Comment convertir le type de données nvarchar à virgule en SQL
Comment faire pour convertir un type de données nvarchar à la décimale dans SQL Server?
J'ai besoin de convertir une valeur comme '38,716.1311'
à 38716.1311.
J'ai essayé d'utiliser cette méthode, mais ne parvient pas à convertir:
DECLARE @TempValue NVARCHAR(100) = '38,716.1311'
SELECT
CONVERT(DECIMAL(18, 2), @TempValue)
Quelqu'un peut-il suggérer la bonne question? Merci d'avance
- Comment sur la suppression de la virgule
Vous devez vous connecter pour publier un commentaire.
Juste enlever la virgule à partir de votre chaîne avant la conversion:
Son meilleur si le
@TempValue
estMONEY
donc ne pas tenir compte de l'séparées par des virgulesUtilisation de l'ARGENT de type de données et de les convertir dans le type de données décimal:
OU Remplacer les virgules et les convertir en décimal
--on ne peut pas convertir la valeur Comme "38,716.1311" (de type NVARCHAR) en DÉCIMAL donc tout d'abord nous remplacer "," vide "38716.1311" puis convertir en DÉCIMAL
Dans mon cas par exemple de certaines données comme:
version: '1.2.12'
Je veux m'inscrire comme version: 1.212 dans Sql
Nettoyer le varchar ( éliminer le point ou la virgule )
Fonte à char (6 chiffres) et le tapis avec 0 les espaces vides. (Capture nulle avec fusionnent)
Fonte à numérique et se divisent pour 100000
Fonte à décimal (10,4)
Result ->> version 1.212
Peut-être il y a une autre solution qui est plus simple.
Supprimer la virgule en utilisant le REMPLACER comme suit: