2016-07-11 58 views
0

如何在sql server中使用「define」變量函數 當我想定義ID以「JH」開頭時?sql定義函數

例如,DEFINE DATE = '11 -JUL-16'不以這種方式工作。

回答

0
DECLARE @Date DateTime; 
SET @Date = '11-Jul-2016' 

至於定義一個實際的用戶函數作爲您的標題暗示,您的DEFINE語句甚至不接近正確的語法。

從我其實可以放在一起,你想有一個功能是這樣的:

CREATE Function MyDate 
(
    @id varchar(50), 
) RETURNS INT --or whatever you want to return 
BEGIN 
    IF @id LIKE('JH%') 
     RETURN (SELECT var1, var2) from Table1 
     WHERE Table1.var1 = @id 
    ELSE RETURN (SELECT var1,var2) from Table2 
END 

然後調用函數

SELECT dbo.MyDate('JH1022') as Result 

我不知道哪裏日期進場,但是這應該讓你瞭解SQL函數的工作原理

+0

感謝Adam!如果我想要使用ID開始於'A',並且我不想總是像'A%'一樣調用ID,只想在開始時定義ID_code。 –

+0

那麼,使用類似的聲明是這樣做的方法。你可以用一個'bit'來評估一個if else,用類似的語句來檢查,然後用這個位的結果代替like('A%') – Adam