У меня есть этот код кода с ошибкой, потому что я использую переменную Int
внутри Nvarchar
.SQL Server 2005: помощь для конкатенации Nvarchar и Int
DECLARE @FattAnnoCorrente INT;
DECLARE @Tabscontianno1 NVARCHAR(MAX);
SET @Tabscontianno1 =
N'<p align="left"><b>ANNO ' + @Anno1 + ' - </b><b>' + @FattAnnoCorrente + '<br>
</b></p>
<table height="62" border="1" cellpadding="2" cellspacing="2"
width="501">
<tbody>
<tr>
<td valign="top">FATTURATO<br>
</td>
<td valign="top">SCONTO<br>
</td>
</tr>' + CAST ((
SELECT
td = SUM(TOTNETTORIGA), '',
td = SCONTIESTESI
FROM .dbo.TESTEDOCUMENTI
INNER JOIN .dbo.RIGHEDOCUMENTI
ON PROGRESSIVO=IDTESTA AND TOTNETTORIGA <>'0'
WHERE CODCLIFOR = @CodiceCliente AND .dbo.TESTEDOCUMENTI.DOCCHIUSO = '0' AND .dbo.TESTEDOCUMENTI.BLOCCATO = '0' AND .dbo.TESTEDOCUMENTI.TIPODOC = 'FVC' AND .dbo.TESTEDOCUMENTI.ESERCIZIO = YEAR(GETDATE())
GROUP BY TESTEDOCUMENTI.ESERCIZIO,SCONTIESTESI
FOR XML PATH('tr'), TYPE)
AS NVARCHAR(MAX)) +
N' </tbody>
</table>'+
N'<BR/>' ;
Я получаю эту ошибку:
Conversion failed when converting the nvarchar value 'ANNO 2016 -' to data type int.
Если я использую
CAST(CAST(COALESCE(@FattAnnoCorrente) as int) as varchar(255))
я вместо того, чтобы получить эти ошибки:
Msg 102, Level 15, State 1, Line 154
Incorrect syntax near ')'.
Msg 156, Level 15, State 1, Line 173
Incorrect syntax near the keyword 'FOR'.
Можете ли вы помочь мне решить эту проблему ,
После вставки его в переменной nvarchar
мне нужно отформатировать его как деньги так:
'€ ' + REPLACE(CONVERT(varchar, CAST(@FattAnnoCorrente AS money), 105),',','.')
Спасибо, ребята!
Некоторые значения, как? – BigBlack
@BigBlack: Некоторое значение, не равное нулю для объединения – TheGameiswar