J'ai une table qui comprend une colonne VARCHAR peuplée avec des valeurs commeErreur de conversion varchar de type de données à numérique lors de la conversion sous-chaîne en décimal
employé n'a pas droit au SSP parce que leurs gains hebdomadaires moyens sont inférieurs LEL.Average bénéfices : £ 44,13750
Je suis en train d'extraire la valeur après le signe £ donc j'ai essayé:
SELECT
ClientId
, Max(PayPeriod) As PeriodNo
, CASE WHEN MAX(Comment) like '%£%' THEN
CAST(MAX(right(Comment, charindex('£', reverse(Comment))-1))AS DECIMAL(5,2))
ELSE 0 END AS AvgEarnings2
FROM
t_PayrollSSPEmployeeComment
WHERE
comment like '%LEL%' AND comment like '%£%'
GROUP BY
ClientID
Je veux seulement récupérer la valeur que je puisse le lancer en décimal comme 110.25
Mais je reçois une erreur
Error converting data type varchar to numeric.
Je peux obtenir la valeur avec ou sans le signe £, mais j'ai besoin de le convertir au bon nombre de décimales pour un rapport. Qu'est-ce que je fais mal ici?
Il semble que vous ayez des caractères non autorisés dans la valeur de chaîne. Peut-être votre point décimal? – ssn