我正在尝试为我们的SQL Server 2000编写一个函数,我可以在其他存储过程中使用它来清理我们的机器 ID 号:
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
我尝试保存时的错误消息是:
关键字“case”附近的语法不正确。
在上面的星号处。
我错过了什么?