1
我遇到問題。SQL中的動態運算符
declare @sql nvarchar(max)
declare @max int
set @max=10
declare @min int
set @min=0
Declare @oper nvarchar(40)
set @oper='>'
Declare @value int
set @value=0
declare @r_sql int
set @sql='select @r_sql = case when'+cast(@value as int)+cast(@oper as nvarchar(1))[email protected]+' then 1 else 0 end '
EXEC sp_executesql
@sql,
@value,
@min,
@max,
@r_sql OUTPUT
select @r_sql
我想通過動態運算符來執行查詢,但它總是說'將數據類型varchar轉換爲數字時出錯。 任何人都有這個問題嗎?請幫幫我。謝謝,我真的很感激。
@value已經是一個int,爲什麼你明確CASTI NG? –
因爲當我聲明var我需要是int,但是當我傳遞參數來查詢我認爲需要是字符串。 –