2
我想要做的就是這樣的事情SQL Server,T-SQL操作符可以像變量一樣使用嗎?或類似的東西
DECLARE @operator nvarchar;
SET @operator = 'AND'
SELECT * FROM MyTable
WHERE first_column = "1" @operator second_columnt = "2"
有沒有實現這樣的一個邏輯的方法嗎?
我想要做的就是這樣的事情SQL Server,T-SQL操作符可以像變量一樣使用嗎?或類似的東西
DECLARE @operator nvarchar;
SET @operator = 'AND'
SELECT * FROM MyTable
WHERE first_column = "1" @operator second_columnt = "2"
有沒有實現這樣的一個邏輯的方法嗎?
你可以做到這一點使用動態SQL:
declare @query varchar(max)
set @query = 'select * from MyTable where first_column = ''1'' ' +
@operator + ' second_column = ''2'''
exec (@query)
有時候,where語句的邏輯是足夠的,如:
select *
from MyTable
where (operator = 'AND' and first_column = '1' and second_column = '2')
or (operator = 'OR' and (first_column = '1' or second_column = '2'))
你真的需要通過閱讀在T-SQL中,[動態搜索條件Erland Sommarskog](http://www.sommarskog.se/dyn-search-2005.html) – 2010-07-07 13:09:20