Har några int värden jag hämtar fr en tabell som jag vill konvertera till decimal (18,2) ja man blir ju nyfiken vad som gömmer sig bakom MatchResultRoundResult1 - MatchResultRoundResult8. Tack Håkan för ditt engangemang. Hittade felet jag hade deklarerat LicNbr till NChar(12),Avrundning i SQL
SELECT MatchResultLicNbr, CAST(MatchResultRoundResult1 + MatchResultRoundResult2 +
MatchResultRoundResult3 + MatchResultRoundResult4 + MatchResultRoundResult5 +
MatchResultRoundResult6 + MatchResultRoundResult7 + MatchResultRoundResult8 AS DECIMAL(18,2)) AS Result,
Men får error:
Msg 8152, Level 16, State 2, Line 36
String or binary data would be truncated.
The statement has been terminated.Sv: Avrundning i SQL
Lätare att hjälpa till om du slänger in den data du testar med på en gång i din fråga, Gert.Sv:Avrundning i SQL
men var NChar(20) i tabellen.
Vet inte hur jag får ut data ur tabellen så man kan slänga upp vissa poster till dig.
Så här blev det iaf.
INSERT INTO #LicenceResult
SELECT MatchResultLicNbr,
CAST((MatchResultRoundResult1 + MatchResultRoundResult2 +MatchResultRoundResult3 +
MatchResultRoundResult4 + MatchResultRoundResult5 + MatchResultRoundResult6 +
MatchResultRoundResult7 + MatchResultRoundResult8) AS DECIMAL(10, 2)) AS Result,
(Case When MatchResultRoundResult1 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult2 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult3 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult4 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult5 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult6 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult7 > 0 THEN 1 ELSE 0 END +
Case When MatchResultRoundResult8 > 0 THEN 1 ELSE 0 END) AS Rounds
FROM bo_Match INNER JOIN
bo_MatchResult ON (MatchResultMatchId = MatchId /*AND MatchResultLicNbr = @parmLicNbr*/)
WHERE MatchDate >= @parmDateToCompareFrom AND MatchDate <= @parmDateToCompareTo
AND MatchFinished = 1;
Borttaget nedan för jag var för trött igår.