很迷惑!! 关于 SQL 2000 UNICODE 编码问题? 高手请进!! 24小时内结贴!!
TSQL:
declare @str as nvarchar(100)
set @str= '我的TSQL '
SELECT CAST(@str AS varbinary)
SELECT CAST( '我的TSQL ' AS varbinary)
问题:
1, 为什么两次SELECT的结果不一样?
2, 如果我想将变量@str的内容转换成CAST( '我的TSQL ' AS varbinary)一样的结果, 该怎么做?
------解决方案--------------------将@str申明语句改成 "declare @str as varchar(100) "即可
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------nvarchar 鏄痷nicode缂栫爜
'鎴戠殑TSQL '涓嶆槸unicode缂栫爜
鏀逛负SELECT CAST(N '鎴戠殑TSQL ' AS varbinary) 鍗冲彲
------解决方案--------------------gz
------解决方案--------------------关注
------解决方案--------------------declare @str as nvarchar(100)
set @str=N '鎴戠殑TSQL '
SELECT CAST(@str AS varbinary)
SELECT CAST(N '鎴戠殑TSQL ' AS varbinary)
go
declare @str as varchar(100)
set @str= '鎴戠殑TSQL '
SELECT CAST(@str AS varbinary)
SELECT CAST( '鎴戠殑TSQL ' AS varbinary)
------解决方案--------------------同意2楼的说法
因为declare @str as nvarchar(100)
set @str= '我的TSQL '
与直接 '我的TSQL '
两都的类型是不同的,所以在类型转换时,结果也是不同的
前者是nvarchar,后者则是varchar/char