我想寫一個函數,它處理一個列的值,並返回值與'@'符號前的所有內容。如果一個值包含一個特定的字符然後做這個,否則這樣做
我已成功地做到這一點至今通過使用以下代碼:
Create Function fnStaffCodeConvert (@staffcode varchar(10))
Returns varchar(4)
AS
BEGIN
DECLARE @staffinitals varchar(4)
SET @staffinitals = (SELECT substring(@staffcode,0, CHARINDEX('@',@staffcode)))
Return @staffinitials
END
實施例從功能產生 - 在= [email protected]
,返回= ABC
參數。
此工作原理但僅返回列中包含@
值的每個結果,其餘結果不包含@
。即[email protected]
返回ABC
但XYZ
不返回任何內容。
我該如何修改代碼才能給我兩組值?我想我必須在那裏放一個'IF'聲明,但我不確定如何寫它來獲得我想要的結果。
提前:)
邁克非常感謝
也許你應該爲你正在用來編寫函數的** LANGUAGE **添加一個標籤?難道你不認爲可能像'sql'這樣的標籤是合適的嗎? – Mecki
你使用了哪個數據庫? –