Re: [SQL ] where 條件

看板Database作者 (Cavalry)時間15年前 (2011/02/10 19:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
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)
文章代碼(AID): #1DKyZGWr (Database)
文章代碼(AID): #1DKyZGWr (Database)