首页 新闻 会员 周边

SQL 的奇怪问题

0
悬赏园豆:5 [已解决问题] 解决于 2015-08-25 22:35

我在SQL 2008 R2 上对一个字段属性为nchar(10)的字段用

select * from tbmemberinfo where ConfigType like '%11'不成功,没有找到任何记录。

把字段属性改为 varchar(10)就行了,谁知道为什么啊?

泰德的主页 泰德 | 初学一级 | 园豆:6
提问于:2015-08-24 12:30
< >
分享
最佳答案
0

select * from tbmemberinfo where ConfigType like '%11%' 改成这个试试

 

nchar 固定长度,如果插入的字符不足这个长度,那么后面剩余的位置会补空(不是空格,是数据库识别的空符号)   你这个保存数据应该是  11______   后面出来一堆空,用like匹配不到的,like '%11%' 试试应该可行

收获园豆:3
牧师/preacher | 菜鸟二级 |园豆:500 | 2015-08-24 15:19
其他回答(3)
3

nchar,char,varchar与nvarchar区别

好奇宝宝,却不喜欢度娘和谷哥,真让人担心。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-08-24 12:48
0

其实问题不在于1#的回楼,这个和char与varchar区别没有关系,是你 like '%11'这个的问题

你确实是以11结尾的? 你试一下 like '%11%'

收获园豆:1
gw2010 | 园豆:1487 (小虾三级) | 2015-08-24 15:16
0

3楼正解,楼主是nchar,char,varchar与nvarchar的区别不知道,不过别%。。%。%加前面会影响索引的

收获园豆:1
稳稳的河 | 园豆:4216 (老鸟四级) | 2015-08-24 20:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册