为了账号安全,请及时绑定邮箱和手机立即绑定

在sql server 中like 一个字段

在sql server 中like 一个字段

喵喵时光机 2019-07-16 12:09:59
ID goid123456 234258369 234我现在要加一个条件:goid中包含于id中 这里要出的结果就该是id goid123456 234这个要怎么做,感恩啊!!!!!!
查看完整描述

4 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

由于不知道你是用SQLSERVER还是ORACLE,我就先给你一个SQLSERVER版本的吧!
如果你的字段定义是id为字符类型(nvarchar或varchar),而goid也是字符类型的话就很简单了!
直接用like或者charindex就行了!

测试sql如下:
create table #1(id varchar(10),goid varchar(10));
insert into #1( id,goid)values('123456','345'),('222444','123'),('56789','89'),('123','1');
select * from #1 where id like '%'+goid+'%';
select * from #1 where charindex(goid,id)>0;
drop table #1;

如果你的字段定义是id为字符类型(nvarchar或varchar),而goid是整型(int,tinyint等)的话就要转换一下!

测试sql如下:
create table #2(id varchar(10),goid int);
insert into #2( id,goid)values('123456',345),('222444',123),('56789',89),('123',1);
select * from #2 where id like '%'+convert(varchar,goid)+'%';
select * from #2 where charindex(convert(varchar,goid),id)>0;
drop table #2;

如果不属于上面两种情况,参考照转换方法都可以解决!

下面是ORACLE版本的!
因为ORACLE会自己来处理这些问题,直接用like或instr就行了!不分类型哈!

测试sql如下:
create table t1 (id nvarchar2(10),goid varchar(10));
insert into t1( id,goid)values('123456','345');
insert into t1( id,goid)values('222444','123');
insert into t1( id,goid)values('56789','89');
insert into t1( id,goid)values('123','1');
select * from t1 where id like '%'||goid||'%';
select * from t1 where instr(id,goid)>0;
drop table t1;

查看完整回答
反对 回复 2019-07-17
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

select *
from tab
where ID LIKE '%' + goid + '%'

查看完整回答
反对 回复 2019-07-17
?
手掌心

TA贡献1942条经验 获得超3个赞


select * from po_test where charindex(goid,ID)>0
主要 id,goid必须是char类型的字段才可以


查看完整回答
反对 回复 2019-07-17
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

sql 中 like 要引用一个字段的值,需要使用连接符‘+’

所以原语句:select * from 表 where 字段1 like '%字段2%'
需要更改为:select * from 表 where 字段1 like '%'+字段2+'%'

SQL Server中 用 + 来连接字符串。如果不是字符类型,应先转换成字符类型。
也就是说,如果语句中的’字段2‘为数值型字段那么,语句需要更改为:
select * from 表 where 字段1 like '%'+cast(字段2 as varchar(20))+'%'

查看完整回答
反对 回复 2019-07-17
  • 4 回答
  • 0 关注
  • 1731 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信