CREATE TABLE [TABLE1] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_TABLE1] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY]
GO
--1
declare @nvchSQL nvarchar(500)
declare @nvchNumbers nvarchar(50)
set @nvchNumbers = N'2,4,6'
set @nvchSQL = N'SELECT * FROM Table1 WHERE id IN (' + @nvchNumbers + N')'
print @nvchSQL
--exec sp_executesql @nvchSQL
exec(@nvchSQL)
--2
select * from table1 where id in (2,4,6)
declare @s nvarchar(50)
set @s = N'select * from table1 where id in '+ N'2,4,6'
exec(@s)
--3 第一种方法的另外表示方法 去除N也可以
declare @nvchSQL nvarchar(500)
declare @nvchNumbers nvarchar(50)
set @nvchNumbers = '2,4,6'
set @nvchSQL = 'SELECT * FROM Table1 WHERE id IN (' + @nvchNumbers + ')'
print @nvchSQL
--exec sp_executesql @nvchSQL
exec(@nvchSQL)
本文介绍了一种在SQL中使用动态查询的方法,包括如何通过变量设置查询条件,并展示了三种不同的实现方式。这些方法有助于提高查询的灵活性。
3011

被折叠的 条评论
为什么被折叠?



