sql怎么查询出两列字段相同的数据(在忽略英文大小写和空格的情况下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql怎么查询出两列字段相同的数据(在忽略英文大小写和空格的情况下)相关的知识,希望对你有一定的参考价值。

sql怎么查询出两列字段相同的数据(在忽略英文大小写和空格的情况下)如题所示查出两列字段相同的数据,怎么升级一下,忽略英文大小写和空格的情况下 查出两列相同的数据? 以下面的表来举例 要把ID 1 和2 这两个数据查出来

字段值去掉空格和转换成大写或小写之后,再做比较就可以了。

不知道你是什么数据库,以ORACLE数据库举例:

SELECT DISTINCT IN1.* 
FROM INVENTORY IN1
WHERE EXISTS(
    SELECT IN2.*
    FROM INVENTORY IN2

    WHERE IN1.ID != IN2.ID
        AND LOWER(REPLACE(IN1.NAME, ' ')) = LOWER(REPLACE(IN2.NAME, ' ')) 
        AND LOWER(REPLACE(IN1.STD, ' ')) = LOWER(REPLACE(IN2.STD, ' '))
)

参考技术A select t1.* from (select * from Inventory) t1 ,(SELECT * FROM Inventory) t2
where
t1.name = t2.Std

sql 一个字段有多条数据 在一行显示

select b.f_measure from t_quality_qi_special t , t_quality_qi_measure b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1 查询出 两条记录
将其结果 显示 为 1224 ,122 不甚感激

方法一:直接构造(这种方法针对这样的问题比较好,但实用性不大)
DECLARE @result VARCHAR(1024)
SET @result = ''
select @result += b.f_measure+',' from  t_quality_qi_special t ,  t_quality_qi_measure  b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
set @result=substring(@result,1,len(@result)-1)
SELECT @result  
方法二:游标遍历(这种方法可适用性比较强,但是看起来比较麻烦)
declare @result varchar(1024) ='',@lsf_measure varchar(1024)
declare cursor_test cursor for  select b.f_measure  
 from  t_quality_qi_special t ,  t_quality_qi_measure  b 
 where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
open cursor_test
fetch next from cursor_test into @lsf_measure
while @@fetch_status=0
begin
 if len(@result)>=1
 set @result=@result+','+@lsf_measure
 if len(@result)<1 
 set @result=@lsf_measure
 fetch next from cursor_test into @lsf_measure
end
close cursor_test
deallocate cursor_test
select @result

参考技术A DECLARE @str NVARCHAR(1000)
SET @str = ''

select @str += b.f_measure from t_quality_qi_special t , t_quality_qi_measure
b where t.f_id=b.f_special_sn and t.f_id=4 and b.f_is_active=1
SELECT @str
--2008

以上是关于sql怎么查询出两列字段相同的数据(在忽略英文大小写和空格的情况下)的主要内容,如果未能解决你的问题,请参考以下文章

sql select语句,查询出两列结果拼接在一起

sql语句如何查询一个表中某两个字段的相同数据?

Oracle中怎么样把字段相同的值加在一起

sql语句查询字母字段时不区分大小写

Hibernate Hql 怎么在模糊查询字母时忽略大小写?

sql查询两列包含关系