存储过程遇到的问题~~查询不出来

在存储过程中定义变量 @CaseID varchar(256)
AS
SELECT*FROM 表xxx WHERE 字段ID like '%'+rtrim(@ID)+'%'

我数据库里的ID是12345,我已经测试过,上面的代码效果是: 输入1 或12 或23 或34 或123 或2345 或345 等等, 只要是顺着排下来的输入条件都能查询到预期的结果,到此很圆满.
可是,我想输入125,也就是不顺着数字输入,根据125这个查询条件,或者124,或者235,或者25, 隔开输入查询条件就查不出来了. 怎么办? 帮个忙 谢谢!

1个回答

DECLARE @CaseID varchar(256)
SET @CaseID = '125'
SELECT * FROM [tb_tableName] WHERE 字段ID LIKE '%['+@CaseID+']%'

上面这个正则查询就可以满足你的要求呀

DECLARE @CaseID varchar(256)
SET @CaseID = '19999'
SELECT * FROM [tb_aTemp] WHERE 字段ID LIKE '%['+@CaseID+']%'

TO:我用一个变量在SQL存储过程中可以返回一个结果.现在是想通过执行存储过程一次性返回多个结果,请问变量该怎么定义?

RE:

CREATE PROCEDURE SP_tableName(
@CaseID NVARCHAR(50)
)
AS
BEGIN
SET NOCOUNT ON
DECLARE INT @Identity
SET @Identity = 0
INSERT INTO tb_tableNameVALUES(@CaseID)
SET @Identity = SCOPE_IDENTITY()

IF (@Identity)>0
   BEGIN
SELECT * FROM [tb_tableName] --这里根据你的查询条件,返回的多个需要的得到的字段
   END

SET NOCOUNT OFF
END
GO

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐