问一个SQL语句怎么写

newmcz 2002-03-25 01:32:58
问一个SQL语句怎么写

我得到几个参数,要在我的记录中查找包含某个字段内容的记录

如:我的数据库有以下内容
ID 字段1
1 ABC
2 ABC
3 MMM
4 YTUY
5 DSD
我得到几个参数,ABC,TTTABC,EABCERE.目的是要找出字段1中的内容在我得到的参数里包含的
想要的结果是
ID 字段1
1 ABC
2 ABC
请问这样的语句怎么写
...全文
53 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
newmcz 2002-03-26
问题还没解决

用IN是完全匹配吧,要是我的参数只有TTTABC,我希望能把包含ABC字符的记录都找到,即我的参数包含了我的字段里的内容



  • 打赏
  • 举报
回复
newmcz 2002-03-25
??
  • 打赏
  • 举报
回复
newmcz 2002-03-25
TO: sky_blue(老衲)
select id ,字段1 from yourtable where 字段1 in ('ABC','TTTABC','EABCERE')

用IN是完全匹配吧,要是我的参数只有TTTABC,我希望能把包含ABC字符的记录都找到,即我的参数包含了我的字段里的内容

我用如下语句:
USE pubs SELECT * FROM authors WHERE state IN ('CAAAAA')
但我实际要找字段含CA内容,但是找不到

刚才没说明白


  • 打赏
  • 举报
回复
rwq_ 2002-03-25
这过程的写法我觉得调用起来太什么了吧!你这样试式:
Create Proc Tmp(@varPara varchar(300))

AS

Exec('SELECT * FROM Northwind..Orders Where OrderID IN ('''+replace(@varPara,',',''',''')+''')')

--------
然后就这么调用:
tmp('ABC,TTTABC,EABCERE')



  • 打赏
  • 举报
回复
x_zing 2002-03-25
Create Proc Tmp(@varPara varchar(300))

AS

Exec('SELECT * FROM Northwind..Orders Where OrderID IN ('+@varPara+')')

注意 arrPara应该是'asd','ddd','as'等形式的参数。
  • 打赏
  • 举报
回复
newmcz 2002-03-25
我的意思是字段1里的内容和我的参数并不一定匹配

我得到几个参数TTTABC,EABCERE.
即字段1里的内容只是我参数的一部分

用IN只能是完全匹配

请帮帮忙




  • 打赏
  • 举报
回复
N_chow 2002-03-25
alter Proc tmp (@varPara varchar(300))
As

exec (' SELECT * From Northwind..Orders where OrderID IN ('+@varPara +')')

  • 打赏
  • 举报
回复
N_chow 2002-03-25
呵呵…我也覺得這名字好怪。
:)
  • 打赏
  • 举报
回复
newmcz 2002-03-25
多谢了

再请问要是写个存储过程
要怎么写

多谢了


  • 打赏
  • 举报
回复
rwq_ 2002-03-25
sky_blue(老衲) :您好,怎么改名了?差点不认了!
  • 打赏
  • 举报
回复
N_chow 2002-03-25
同意藍天。

另類的寫法:)

Select A.* from Yourtable a INNER JOIN
(
SELECT 'A' as PartCode UNION Select 'b'
) b
ON a.partcode=b.partcode
  • 打赏
  • 举报
回复
蓝天 2002-03-25
select id ,字段1 from yourtable where 字段1 in ('ABC','TTTABC','EABCERE')
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2002-03-25 01:32
社区公告
暂无公告