小弟需要寫乙個儲存過程,判斷8個引數是否存在兩兩相等的引數:
create procedure sp_judgevalid
@ipara1 int,
@ipara2 int,
@ipara3 int,
@ipara4 int,
@ipara5 int,
@ipara6 int,
@ipara7 int,
@ipara8 int
as begin
if ( @ipara1 = @ipara2 or @ipara1 = @ipara3
or @ipara1 = @ipara4 or @ipara1 = @ipara5
or @ipara1 = @ipara6 or @ipara1 = @ipara7
or @ipara1 = @ipara8
or @ipara2 = @ipara3 or @ipara2 = @ipara4
or @ipara2 = @ipara5 or @ipara2 = @ipara6
or @ipara2 = @ipara7 or @ipara2 = @ipara8
or @ipara3 = @ipara4 or @ipara3 = @ipara5
or @ipara3 = @ipara6 or @ipara3 = @ipara7
or @ipara3 = @ipara8
or @ipara4 = @ipara5 or @ipara4 = @ipara6
or @ipara4 = @ipara7 or @ipara4 = @ipara8
or @ipara5 = @ipara6 or @ipara5 = @ipara7 or @ipara5 = @ipara8
or @ipara6 = @ipara7 or @ipara6 = @ipara8
or @ipara7 = @ipara8)
begin
return 0
end
else
return 1
end
end
但是我覺得這樣寫**沒什麼意思,如果引數再多幾個,那就更麻煩了。
不知道各位兄弟是否有好點的技巧,說出來大家討論討論~
解答如下:(再oracle中只需在每個select 中加入from dual即可)
create procedure sp_judgevalid
@ipara1 int,
@ipara2 int,
@ipara3 int,
@ipara4 int,
@ipara5 int,
@ipara6 int,
@ipara7 int,
@ipara8 int
as begin
if (select count(1)
from
(select @ipara1 as col union select @ipara2 union select @ipara3 union select @ipara4
union select @ipara5 union select @ipara6 union select @ipara7 union select @ipara8)t)<8
begin
return 0
end
else
return 1
end
end
判斷兩個實數是否相等
題目描述 1.輸入a,b字串,並得到長度 2.設定bool變數,用於標記a,b是否含有小數點 3.若a,b中不含有小數點,則給不含小數點的字串的末尾加上小數點 4.現在兩個數都含有小數點,則需要在短的那個數上面小數點後面補0 5比較兩個字串是否相同,相同print yes include inclu...
js 判斷兩個變數是否相等
判斷兩個變數是否相等是程式設計中非常重要的運算。在處理原始值時,這種運算相當簡單,但涉及物件,任務就稍有點複雜。ecmascript 提供了兩套等性運算子 等號和非等號用於處理原始值,全等號和非全等號用於處理物件。在 ecmascript 中,等號由雙等號 表示,當且僅當兩個運算數相等時,它返回 t...
JS判斷兩個變數是否相等
js中判斷兩個變數是否相等,是我們經常遇到的問題。今天我要 的問題是如何優雅的比較複雜變數。以上的方法都只能比較簡單變數,無法比較引用型別變數 如array,object 如何優雅判斷複雜變數是否相等?不多廢話,直接上 function isobject obj function isequal a...