作者dragon2 ()
看板Database
標題Re: [SQL ] 請問大家關於WHERE子句的問題
時間Fri Sep 22 13:14:59 2006
你可以建一個Function像這樣
CREATE FUNCTION [dbo].[EqualValue](@DBValue VARCHAR(20),@ComparedValue VARCHAR(20))
RETURNS BIT
AS
BEGIN
DECLARE @Equal BIT;
IF @ComparedValue=''
SET @Equal = 1;
ELSE
BEGIN
IF @DBValue = @ComparedValue
SET @Equal = 1;
ELSE
SET @Equal = 0;
END;
RETURN @Equal;
END;
然後在stored procedure裡用像這樣的sql,而不是直接用where
select * from people where EqualValue(name,@SearchName)=1;
這樣如果代入的值是''的話
select * from people where EqualValue(name,'')=1;
也會傳回所有的資料,同理可應用到多個條件
不過每種資料型態要另設一個function,大於小於也是不同的function
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.87.119.183
1F:推 seagal:了解 十分感激:) 09/22 16:10