关于字符串的问题

wennier 2006-03-16 03:16:29
明明定义了字段strname是varchar(34)类型,但是插到数据库里的串不满34个,用len(strname)查得的结果还是34,不知道是为什么?
...全文
109 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
viptiger 2006-03-16
  • 打赏
  • 举报
回复
SET ANSI_PADDING OFF
之后,重新建立表,向表中插入数据,再看一下结果
wennier 2006-03-16
  • 打赏
  • 举报
回复
通过ODBC绑定的,会不会绑定时长度指定的不对呢。。。
selectplayer 2006-03-16
  • 打赏
  • 举报
回复
试试len(rtrim(ltrim(strname))),我估计你写入的串有空格等不可见字符
WangZWang 2006-03-16
  • 打赏
  • 举报
回复
首先确认插入的有没有空格等难看到了字符。
还有前台程序的是否把长度截断了,可用
跟踪器profiler跟踪一下插入的语句。
lsqkeke 2006-03-16
  • 打赏
  • 举报
回复
declare @tb table(strname varchar(34))
insert @tb
select '232' union all
select '23werw2' union all
select '23werwewewe2'

select len(strname) from @tb

结果:
3
7
12
dododo 2006-03-16
  • 打赏
  • 举报
回复
会不会是客户端程序加上去的,是怎么插入的,用了存储过程没有??

顺便给我的帖子作广告,在线等待
http://community.csdn.net/Expert/topic/4618/4618652.xml?temp=.1497461

34,873

社区成员

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

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