我試圖寫一個函數爲我們的SQL Server 2000,我可以在其他存儲過程中使用來清理我們的機器ID號:T-SQL CASE函數
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- Description: The Purpose here is to just get the System (Chamber, Decay, Label, Tubing, etc.)
-- =============================================
CREATE FUNCTION [dbo].[fn_GetSysType] (@systemID varchar(50)) RETURNS varchar(50) AS
BEGIN
declare @sysID varchar(50)
set @sysID=LTrim(RTrim(@systemID))
if (0<Len(@sysID)) begin
set @sysID=(
case when (0<CharIndex('Inspect', @sysID)) then 'Inspect'
* case when (0<CharIndex('Label', @sysID)) then 'Label'
case when (0<CharIndex('Tubing', @sysID)) then 'Tubing'
case when (0<CharIndex('Expand', @sysID)) then 'Expand'
case when (0<CharIndex('Decay', @sysID)) then 'Decay'
case when (0<CharIndex('Chamber', @sysID)) then 'Chamber'
case when (0<CharIndex('Water', @sysID)) then 'Water'
case when (0<CharIndex('Sniff', @sysID)) then 'Sniff'
case when (0<CharIndex('Packout', @sysID)) then 'Packout'
case when (0<CharIndex('Shipping', @sysID)) then 'Shipping'
else 'Unknown' end)
end
return @sysID
END
GO
錯誤消息時我試圖保存這是:
關鍵字'大小寫'附近的語法不正確。
上面的星號。
我錯過了什麼?
你有沒有檢討[文件](http://msdn.microsoft.com/en-us/library /aa258235(v=sql.80).aspx)CASE語句? – Pondlife
哦,我做到了。很明顯,我不能很好地閱讀。 – jp2code