sql语句中用等号在匹配的字符串后面存在多余的空格也能匹配出来发现一个很恶心的是举个栗子,我用一下这条sql查询select * from test where code='test'和下面这条sql查询select * from test where code='test '查询结果是相同的但是,这个却我不想要的,而且这个会让带空格的各种脏数据影响查询结果,有什么方法屏蔽掉吗?具测试like不会有这个现象,但是不想用like呀,等号不是应该就是完全匹配吗 [解决办法]
Quote: 引用:Quote: 引用:Quote: 引用:Quote: 引用:Quote: 引用:如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/都有哪些类型会出现这种状况呀你的code是什么类型的?就是varchar呀照理,如果是varchar类型的,再insert into 的时候,就会把'test '字符串的空格自动去掉的。。。难道我只能去用like了?真心是木有去掉的呀,而且用管理工具去编辑,里面的空格都是存在的
Quote: 引用:Quote: 引用:Quote: 引用:Quote: 引用:如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/都有哪些类型会出现这种状况呀你的code是什么类型的?就是varchar呀照理,如果是varchar类型的,再insert into 的时候,就会把'test '字符串的空格自动去掉的
Quote: 引用:Quote: 引用:Quote: 引用:如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/都有哪些类型会出现这种状况呀你的code是什么类型的?就是varchar呀
Quote: 引用:Quote: 引用:如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/都有哪些类型会出现这种状况呀你的code是什么类型的?
Quote: 引用:如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/都有哪些类型会出现这种状况呀
如果code的数据类型是varchar,那么你的2个查询效果是一样的,sql server会自动去掉尾部的空格:create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/
create table test(code varchar(10))insert into testselect 'test ' union allselect 'test'goselect * from test where code='test'/*codetest test*/select * from test where code='test '/*codetest test*/