我有一个表,其中所有字段都声明为 nvarchar。如果我在表中插入所有 unicode 字符都可以很好地进入字段。但是当我进行更新时,我会失去一些角色。这是我的更新声明:
UPDATE TableII
SET LOCATION = CAST(( COALESCE([CITY], N'') + NCHAR(13) + NCHAR(10)
+ COALESCE([INSTALLATION], N'') + NCHAR(13)
+ NCHAR(10) + LEFT(LOCATION.LATLONG, 2) + N'°'
+ SUBSTRING(LOCATION.LATLONG, 3, 2) + N''''
+ SUBSTRING(LOCATION.LATLONG, 5, 2) + NCHAR(34)
+ N' ' + SUBSTRING(LOCATION.LATLONG, 7, 1)
+ N' ' + SUBSTRING(LOCATION.LATLONG, 8, 3)
+ N'°' + SUBSTRING(LOCATION.LATLONG, 11, 2)
+ N'''' + SUBSTRING(LOCATION.LATLONG, 13, 2)
+ NCHAR(34) + N' ' + SUBSTRING(LOCATION.LATLONG,
15, 1) ) AS NVARCHAR(MAX))
FROM TABLEII
INNER JOIN LOC ON TABLEII.REC = LOC.REC
INNER JOIN LOCATION ON LOC.LOCRECNUM = LOCATION.LOCRECNUM
WHERE ( LOC.LOCSEQ = '1' )
如您所见,我尝试了各种方法来强制 unicode 字符不丢失,但它不起作用。
任何想法为什么插入工作正常但此更新没有?