问一个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
请问这样的语句怎么写
...全文
70 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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')

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧