首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

很迷惑! 关于 SQL 2000 UNICODE 编码有关问题? ! 24小时内结贴!

2012-01-07 
很迷惑!! 关于 SQL 2000 UNICODE 编码问题? 高手请进!! 24小时内结贴!!TSQL:declare@strasnvarchar(100)se

很迷惑!! 关于 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

热点排行