Nvarchar
の中にInt
という変数を使用しているため、このコードブロックにはエラーがあります。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