紧急求助,发现一个及其郁闷的怪事,请教各位(在线等) select @tempUser = RTRIM(@username) + '_temp'利用RTRIM()去空格 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 然!谢谢你!可是为什么用java调用的时候它自己会把不足的位数用空格补满而用sql server的查询分析器却不会? 在 Sql server 中 nvarchar(20) 是定长的,就是说不管实际的数据长度是多长,他的长度始终是20个字符,不足20个字符的在后面补空格,而 varchar(20) 是个变长的数据类型,在没有超过20个字符之前他是按照数据实际的长度做该字段的长度 楼上的再回去看看书吧,char型才是定长的,nvarchar也是变长的,只不过nvarchar是unicode编码格式,这种编码格式,不管字符是汉字还是英文字母,都占一个字节的位置;而varchar和char都是ASCII编码格式,汉字占两个字节,英文字母占一个字节,同样对应char型也有nchar型 是的,三楼的你说错了,呵呵.在用JDBC调用存储过程时我都调用了 String.trim()保证把传入的值两头的空格去掉了,但是当通过jdbcOdbc桥把参数传入sql server后我发现只在 select @tempUser = @username + '_temp'这句里出现了把@username补足20位长度,而在类似 select * from tableName where username = @username的语句中@username 长度没变化,仍然是我传入的值.所以我觉得很奇怪,也没想到用RTRIM()去除空格. 不好意思啊,是我的错。不过在 sql server2000 中好象所有的字符编码都是 Unicode 编码的,你们可以试试使用 like 'a_' ,其中的 '_' 代表一个任意的字符(包括中文) Could not roll back Hibernate transaction,怎么回事? facebook api提供的接口有关于搜索用户信息的吗? 求助:控制台报错 奇怪的报错,在java测试通过,jsp就是报错 如何去阅读学习(跟踪调试)hibernate的源码呢? EJB3.0有什么动人的地方?! 弱弱的问一下关于tomcat 用JDOM的问题????? spring 使用@Scheduled注解的方法内部,事务回滚失效; eclipse创建maven多模块项目,目录结构不正常 有个疑问请高手解决 为什么我机器上不能直接用IE浏览XML而别人的机器却可以?
可是为什么用java调用的时候它自己会把不足的位数用空格补满而用sql server的查询分析器却不会?
在用JDBC调用存储过程时我都调用了 String.trim()保证把传入的值两头的空格去掉了,但是当通过jdbcOdbc桥把参数传入sql server后我发现只在 select @tempUser = @username + '_temp'这句里出现了把@username补足20位长度,而在类似 select * from tableName where username = @username的语句中@username 长度没变化,仍然是我传入的值.所以我觉得很奇怪,也没想到用RTRIM()去除空格.
不过在 sql server2000 中好象所有的字符编码都是 Unicode 编码的,你们可以试试使用 like 'a_' ,其中的 '_' 代表一个任意的字符(包括中文)