作者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