这感觉就像一个基本问题,但我已经尝试了一切!我正在编写一个自定义函数SQL函数来将整数转换为日期:
CREATE FUNCTION convert_to_date (@fin INT)
RETURNS DATE
AS
BEGIN
DECLARE @fout DATE
SET @fout = CASE WHEN @fin IN ('','99999999','0','1') THEN NULL
ELSE CONVERT(DATE,CAST(@fin AS CHAR(8)))
END
RETURN @fout
END
SELECT dbo.convert_to_date(DtSurgDischarge) AS DischargeDate
FROM [TR_MASTER.registry].[dbo].[mgh_tumor]
我收到以下错误消息:
消息156,级别15,状态1,过程convert_to_date,第16行 关键字'SELECT'附近的语法不正确。
我做错了什么?这样的感觉一定很明显。谢谢大家!
答案 0 :(得分:0)
如果您尝试在一个脚本中同时执行函数create和GO
,则至少需要在END
函数语句之后SELECT
- < em>假设你正在使用SSMS来运行脚本,即。
CREATE FUNCTION convert_to_date (@fin INT)
RETURNS DATE
AS
BEGIN
DECLARE @fout DATE
SET @fout = CASE WHEN @fin IN ('','99999999','0','1') THEN NULL
ELSE CONVERT(DATE,CAST(@fin AS CHAR(8)))
END
RETURN @fout
END
GO
SELECT dbo.convert_to_date(DtSurgDischarge) AS DischargeDate
FROM [TR_MASTER.registry].[dbo].[mgh_tumor]