作者CavalryTseng (Cavalry)
看板Database
标题Re: [SQL ] where 条件
时间Thu Feb 10 19:15:26 2011
DECLARE @I INTEGER --回圈变数
DECLARE @STR VARCHAR(8000) --存产生之条件数列
/* 128 回圈终值
@I 回圈起始值
SET @I = @I + 10 数字产生规则*/
SET @I=0
SET @STR=''
WHILE @I <128
BEGIN
SET @I = @I + 10
IF LEN(@STR) <> 0 SET @STR = @STR +','
SET @STR = @STR +CONVERT(NVARCHAR(10),@I)
--SELECT @I,@STR --印出目前变数与产生条件式
END
--产生条件式 (10,20,30,40,50,60,70,80,90,100,110,120,130)
--印出运算式
SELECT ('SELECT * FROM TABLE_1 WHERE key IN (' + @STR + ')')
--执行运算式
EXEC ('SELECT * FROM TABLE_1 WHERE key IN (' + @STR + ')')
不知道这样有没有符合你的原意.
※ 引述《zeqw (friend)》之铭言:
: 如果我要下key栏位有 1 or 2 or 4 or 5 ...etc 有可能到128的值
: where key=1 OR key=2 OR key=4 OR key=5 ...
: 这样 SQL 会很长,因为可能到 128
: 有什麽方式可以改善这种 SQL 语法吗
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.65.119
※ 编辑: CavalryTseng 来自: 122.116.65.119 (02/10 19:16)