我有一个带有西里尔文字列的表格。我想迭代表并逐个处理行。
DECLARE @safeSize VARCHAR(50)
DECLARE @safeId INT
DECLARE db_cursor CURSOR FOR
select coalesce(s.id,0), coalesce(s.size,'-')
from old_nom_trezor s
order by s.id
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @safeId, @safeSize
WHILE @@FETCH_STATUS = 0
BEGIN
print @safeSize -- prints ???
print @safeId -- prints ???
--Insert statement with the vars. Also inserts ?
FETCH NEXT FROM db_cursor INTO @safeId, @safeSize
END
CLOSE db_cursor
DEALLOCATE db_cursor
问题是西里尔符号打印为?
,如果我将它们插入其他表格,结果为?
。 Management studio中的简单选择显示正确的符号。我怎样才能用西里尔语取出西里尔符号?
答案 0 :(得分:3)
西里尔文本由unicode字符组成,不能以VARCHAR数据类型存储。
更改此DECLARE @safeSize VARCHAR(50)
这个DECLARE @safeSize NVARCHAR(50)