看板 Database 關於我們 聯絡資訊
你可以建一個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
seagal:了解 十分感激:) 09/22 16:10