***************************强烈遣责sql server2000软件,请高手进入!*************8

qb515 2003-09-21 10:59:38
sql server2000的联机帮助上说:
nvarchar(n)

包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。

我定义一字段为nvarchar(3000)

为什么我写这个字段,只能写入256个字符????
其它的字符串被sql server2000截断?????????

请微软给出解释!!!!!!!!!!!!
...全文
54 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-09-27
  • 打赏
  • 举报
回复

declare @t nvarchar(3000)
select @t=Log_TestAnswer from dbo.BeiSen_Log where Log_Id=74
print @t
print len(@t)
DigJim 2003-09-27
  • 打赏
  • 举报
回复
同意zarge(鲨至)
查询分析器->工具->选项->结果->每列最多字符数,改成8000试试

千萬別亂駡人,千萬別太激動,會顯得你無知的,問題拿出來討論就知道是誰錯了!
LiaoCheng 2003-09-27
  • 打赏
  • 举报
回复
同意 peterfgd(fgd) ( ) 信誉:99
applexml 2003-09-27
  • 打赏
  • 举报
回复
查询分析器->工具->选项->结果->每列最多字符数,改成8000试试
,这兄台完全正确 zarge(鲨至)
peterfgd 2003-09-27
  • 打赏
  • 举报
回复
兄弟你的数据已经存进去了,如果你用select直接查询默认情况下只能显示256个字符,你可以在查询分析器去更改显示设置,不知你用的是7还是2000,设置方法不一样
zjcxc 元老 2003-09-27
  • 打赏
  • 举报
回复
显示问题吧?

楼主有没有测试过长度?

yoki 2003-09-27
  • 打赏
  • 举报
回复
显示问题~
没有显示而已
你可以用len测试嘛
unionbytedotcom 2003-09-23
  • 打赏
  • 举报
回复
我问过微软了,他说因为你用的是盗版,所以有这个问题
xgy_p 2003-09-23
  • 打赏
  • 举报
回复
哥哥仔,不用这样哗宠取巧吧。你的数据已经存进去了,只是在查询分析器中只显示最多256个字符。不信你在程序中将其print出来看看。
playyuer 2003-09-22
  • 打赏
  • 举报
回复
N'
Rewiah 2003-09-22
  • 打赏
  • 举报
回复
显示问题,搂主太激动了!

也可以这样测试:

declare @ret nvarchar(3000)
select @ret=Log_TestAnswer where Log_Id=74
print @ret

pengdali 2003-09-22
  • 打赏
  • 举报
回复
declare @a nvarchar(4000)

set @a=N'baaabbabbabbbbbaaaaabaaabbbbaaabbaababbabbaabaaabababbbbbaabbaabaabbaaaaaaaabbabbaabbaaabaaaabaabaaabbababbbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdddabbababbddabcebdcaaacddbcedbabacacbeadebadebeacddcbcbcbeaebaaabbabbabbbbbaaaaabaaabbbbaaabbaababbabbaabaaabababbbbbaabbaabaabbaaaaaaaabbabbaabbaaabaaaabaabaaabbababbbabaababbbbbabaaabaabbabbbbabbabbaabbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdbbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdddabbaba'


select len(@a) [不是对的吗?]
215 2003-09-22
  • 打赏
  • 举报
回复
回复人: AlphaTrian(散漫的人) ( ) 信誉:100 2003-09-21 23:29:00 得分:0
zarge(鲨至)
女神正确,支持一下

兄台真幽默!


速马 2003-09-21
  • 打赏
  • 举报
回复
这么激动做什么哦,一堆叹号加一堆问号的,我不知道,帮你up
AlphaTrian 2003-09-21
  • 打赏
  • 举报
回复
zarge(鲨至)
女神正确,支持一下
zhongxin799 2003-09-21
  • 打赏
  • 举报
回复
select len(Log_TestAnswer) from dbo.BeiSen_Log where Log_Id=74
执行一下看看是多少?
qb515 2003-09-21
  • 打赏
  • 举报
回复
上面的语句在sql的查询分析器中执行!!!!
qb515 2003-09-21
  • 打赏
  • 举报
回复
语句如下!
update dbo.BeiSen_Log set Log_TestAnswer='baaabbabbabbbbbaaaaabaaabbbbaaabbaababbabbaabaaabababbbbbaabbaabaabbaaaaaaaabbabbaabbaaabaaaabaabaaabbababbbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdddabbababbddabcebdcaaacddbcedbabacacbeadebadebeacddcbcbcbeaebaaabbabbabbbbbaaaaabaaabbbbaaabbaababbabbaabaaabababbbbbaabbaabaabbaaaaaaaabbabbaabbaaabaaaabaabaaabbababbbabaababbbbbabaaabaabbabbbbabbabbaabbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdbbabaababbbbbabaaabaabbabbbbabbabbaaabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdabaaaabababbbaaabaaaaabbaaaaaaababbababddbcbdbaddbaccdddabbaba' where Log_Id=74


Log_TestAnswer的类型为nvarchar,长度3000

为什么被sql server载,只保存256个字符????????????

以上字符串大于256!!
welyngj 2003-09-21
  • 打赏
  • 举报
回复
用一下select len(Log_TestAnswer) from dbo.BeiSen_Log
zarge 2003-09-21
  • 打赏
  • 举报
回复
查询分析器->工具->选项->结果->每列最多字符数,改成8000试试
加载更多回复(2)

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧