2011-07-19 23 views
6

int ve nvarchar numaralı bir satırı tek satırda yazdırmaya çalıştığımda bir hata alıyorum. İşte kodumun tamamı.TSQL PRINT bildirimi dönüşümü sorunu

DECLARE @COUNT INT, @CONST INT 
SET @COUNT = 0 
SET @CONST = 12 

WHILE(@COUNT<12) 
BEGIN 
    SET @COUNT = @COUNT + 1 
    PRINT @COUNT + N' times ' + @CONST + N' is ' + @COUNT*@CONST 
END 

alıyorum hatadır: veri türü int nvarchar değeri 'kez' dönüştürürken dönüştürme başarısız

Msg 245, Level 16, State 1, Hat 8

.

'int' a nvarchar'u yalnızca kendi başlarına yazabilirim, ancak bunları birleştirdiğimde bu hatayı alıyorum. Yanlış birleştiriyor muyum? Ben Önce nvarchar olarak değişkenleri CAST gerektiğini Microsoft SQL Management Studio

cevap

9

kullanıyorum

:

DECLARE @COUNT INT, @CONST INT 
SET @COUNT = 0 
SET @CONST = 12 

WHILE(@COUNT<12) 
BEGIN 
    SET @COUNT = @COUNT + 1 
    PRINT CAST(@COUNT as nvarchar) + N' times ' + CAST(@CONST as nvarchar) + N' is ' + CAST(@COUNT*@CONST as nvarchar) 
END 
+0

Sağol Joel. İyi yakalama. –

+0

Ahh, döküm konusunda şüphelendim. Teşekkür ederim :] – Johannes