社区
MS-SQL Server
帖子详情
在存储过程中,怎么用not in
youxihaha
2003-12-15 08:03:09
比如我想传入这样一个字符串(123,212,32)
然后select * from users where userid not in (123,212,32)
...全文
94
5
打赏
收藏
在存储过程中,怎么用not in
比如我想传入这样一个字符串(123,212,32) 然后select * from users where userid not in (123,212,32)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vileboy
2003-12-15
打赏
举报
回复
declare @krs table (NUM INT)
DECLARE @X VARCHAR(8000)
SET @X='123,212,32,'
WHILE @X<>''
BEGIN
INSERT INTO @KRS (NUM) VALUES (LEFT(@X,(CHARINDEX(',',@X)-1) ) )
SET @X=RIGHT(@X,LEN(@X)-CHARINDEX(',',@X))
END
select * from users where userid not in(select num from @drs)
youngby
2003-12-15
打赏
举报
回复
crate pro myPro
@1 varchar(20),
@2 varchar(20),
@3 varchar(20)
as
exec('select * from users where userid not in ('+@1+','+@2+','+@3+')')
go
txlicenhe
2003-12-15
打赏
举报
回复
测试:
create table t1(a int)
insert t1 values(1)
insert t1 values(2)
insert t1 values(3)
insert t1 values(4)
go
create proc test @s varchar(20)
as
exec('select * from t1 where a not in '+@s)
go
-- 调用
exec test '(1,2)'
a
-----------
3
4
(所影响的行数为 2 行)
j9988
2003-12-15
打赏
举报
回复
有点错
select * from users where charindex(','+rtrim(userid)+',' ,','+@字符串+',')>0
j9988
2003-12-15
打赏
举报
回复
select * from users where charindex(','+rtrim(userid)+',' ,@字符串)>0
OR:
exec('select * from users where userid not in ('+@字符串+')')
SQL NOT IN 优化语句,
存储过程
执行查询快到心跳加速!
NOT IN SQL 语句如下: 当
存储过程
执行not in 大量数据的时候,响应需要1分钟以上! SELECT *FROM mfworkdetail (NOLOCK) WHERE workorderno='63514-16120082' AND partno NOT IN ( SELECT partno FROM mfworkdetail (NOLOCK) WHERE workorderno...
oracle in 空值替换,Oracle SQL语句
中
NOT IN子查询
中
的NULL值陷阱
今天在使用Oracle数据库写
存储过程
时,发现了一个NOT IN子查询的null值陷阱。看了点资料,大概记录如下。1、问题记录本来是要查出A表
中
col列值在B表col列
中
没有出现过的记录。实际数据库是有符合条件的记录的,但是,运行如下SQL:Select *From Awhere A.col not in (Select B.col from B)始终查不出结果。经查,原来是查询子句:Select...
在sql语句
中
替换Not In 的方法
在sql语句
中
替换Not In 的方法 前言: 今天在写一条sql查询语句,其需要从一个表A
中
返回所有A不再表B
中
的结果集,当然,这种实现最方便的方法就是用NOT IN。 如:select a.* from a where a.id not in (select id from b where……) 我们大家都知道很多sql方面的文章都建议大家尽量不要使用NOT IN的方法,因为这种方法的效率不高...
该如何使用MySQL的
存储过程
?
存储过程
的参数类型可以是IN、OUT和INOUT。根据这点分类如下: 1、没有参数(无参数无返回) 2、仅仅带 IN 类型(有参数无返回) 3、仅仅带OUT 类型(无参数有返回) 4、既带 IN 又带 OUT(有参数有返回) 5、带INOUT(有参数有返回) 注意: IN、OUT、INOUT 都可以在一个
存储过程
中
带多个。 2、创建
存储过程
语法: CREATE PROCEDURE
存储过程
名(IN|OUT|INOUT 参..
MySQL
存储过程
传参之in, out, inout 参数用法
存储过程
传参:
存储过程
的括号里,可以声明参数。 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..) in :给参数传入值,定义的参数就得到了值 out:模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程(在
存储过程
内部,该参数初始值为 null,无论调用者是否给
存储过程
参数设置值) inout:调用者还可以通过
MS-SQL Server
34,588
社区成员
254,588
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章