Re: [SQL ] where 條件
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)
討論串 (同標題文章)