Besoin d'aide pour comprendre ce que je fais avec la syntaxe ici, s'il vous plaît, aidez-moi! Je n'ai pas seulement besoin de convertir float en décimal, mais j'ai aussi besoin de remplacer les données d'origine en cours de migration vers le même format et les données (dans ce cas) si nécessaire pour correspondre aux données les plus récentes.TSQL, cas, convertir, remplacer fin
,CASE
WHEN fInvReqMargin IS NOT NULL THEN
(CONVERT(DECIMAL(7, 7), fInvReqMargin)(REPLACE(fInvReqMargin, fInvReqMargin, INVESTOR_REQUIRED_MARGIN_FC)))
ELSE NULL
END as INVESTOR_REQUIRED_MARGIN_FC
error: Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'CASE'.
Merci!
sheesh, c'est une déclaration assez désordonnée. Compte tenu de tout cela en utilisant le seul champ, avez-vous envisagé de le mettre dans un UDF scalaire? De cette façon, vous pouvez construire la valeur progressivement. – RPM1984
N'a pas de sens ce que vous voulez faire quand 'fInvReqMargin' n'est pas null - essayez-vous de convertir la valeur remplacée en une décimale, ou ajoutez la valeur convertie à celle qui a été remplacée (mais les paramètres sont incorrects. .. –