iT邦幫忙

0

請教SQL2005 whrer變數語法?

sql
badboy01 2 年前1510 瀏覽

請問我有一段SQL語法為 where place = '台北' OR where place = '台中' OR where place = '高雄',如果我想網頁中輸入台北,台中,高雄後傳值到SQL變數輸入如.... where place = @地點,正確語法該怎麼改呢?因為我改為....where place = '@地點'好像不正確,謝謝!

看更多先前的討論...收起先前的討論...
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
DECLARE @地點 nvarchar(200);
SELECT * FROM [table] WHERE [place]=@地點
badboy01 iT邦新手 5 級 ‧ 2 年前 檢舉
謝謝大大,可以了~~~
badboy01 iT邦新手 5 級 ‧ 2 年前 檢舉
請教大大,如果下......where table.place = '顯示所有地點的參數',在where語法中有辦法這樣下嗎?
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
DECALRE @tmpTable TABLE([place] nvarchar(10));
INSERT INTO @tmpTable ([place]) VALUES('台北');
INSERT INTO @tmpTable ([place]) VALUES('台中');
INSERT INTO @tmpTable ([place]) VALUES('高雄');
SELECT * FROM [table] WHERE [place] IN (SELECT [place] FROM @tmpTable);
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
或者,如同回答區的回答,使用CHARINDEX函數:
DECLARE @地點 nvarchar(100);
SET @地點='台北,台中,高雄';
SELECT * FROM [table] WHERE CHARINDEX([place],@地點)>0;
badboy01 iT邦新手 5 級 ‧ 2 年前 檢舉
不好意思大大,我是想有四個選項1.所有地點 2.台北 3.台中 4.高雄 選擇其中一項目可以將值傳到 @地點 中。
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
施主...這個要看你自己的程式怎麼傳遞參數了吧...
或者,寫成一支stored procedure
老鷹(eagle) iT邦高手 1 級 ‧ 2 年前 檢舉
wiselou提到:
施主...這個要看你自己的程式怎麼傳遞參數了吧...

使用飛鷹傳遞參數呢疑惑
Ken(Bigcandy) iT邦大師 1 級 ‧ 2 年前 檢舉
wiselou提到:
wiselou 說:
施主

wiselou施主,可以改放到回答區讓大家踐踏了

不是,是膜拜、瞻仰
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
是不是可以多一個功能,直接把討論搬到回答區喜歡讚
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉
bigcandy提到:
瞻仰

汗...需要家屬答禮嗎?Orz
老鷹(eagle) iT邦高手 1 級 ‧ 2 年前 檢舉
bigcandy提到:
膜拜

汗需要三柱清香嗎...失神
老鷹(eagle) iT邦高手 1 級 ‧ 2 年前 檢舉
wiselou提到:
是不是可以多一個功能,直接把大家的錢搬到我家
偷笑
外獅佬 iT邦大師 1 級 ‧ 2 年前 檢舉

直接把大家的錢搬到我家


這...我是沒什麼意見啦開心

老鷹(eagle) iT邦高手 1 級 ‧ 2 年前 檢舉
wiselou提到:
這...我是沒什麼意見啦

然後大家去外獅佬家吃住偷笑
badboy01 iT邦新手 5 級 ‧ 2 年前 檢舉
我要怎麼給wiselou大大設為標準答案阿?

2 個回答

2
外獅佬
iT邦大師 1 級 ‧ 2 年前
最佳解答
<pre class="c" name="code">
DECLARE @地點 nvarchar(200);  
SELECT * FROM [table] WHERE [place]=@地點  
2
純真的人
iT邦研究生 5 級 ‧ 2 年前

select * from Tables
where CharIndex(',台北,台中,',',' + place + ',') > 0

我要發表回答

立即登入回答