sql – 不是一个公认的内置函数名称
发布时间:2020-12-12 16:40:48 所属栏目:MsSql教程 来源:网络整理
导读:我收到这个错误: Msg 195,Level 15,State 10,Line 1 ‘fnParseName’ is not a recognized built-in function name. 在这个查询中: SELECT fnParseName(DOCTORFIRSTNAME+' ' +DOCTORLASTNAME) FROM [PracticeandPhysician] 这是fnParseName的代码 create FU
我收到这个错误:
在这个查询中: SELECT fnParseName(DOCTORFIRSTNAME+' ' +DOCTORLASTNAME) FROM [PracticeandPhysician] 这是fnParseName的代码 create FUNCTION [dbo].[fnParseName] (@FullName NVARCHAR(128)) RETURNS @FullNameParts TABLE (FirstName NVARCHAR(128),Middle NVARCHAR(128),LastName NVARCHAR(128)) AS BEGIN ... function body that populates @FullNameParts ... RETURN END 为什么我得到这个错误? 解决方法这是一个表值函数.所以你可能意味着:SELECT p.DOCTORFISTNAME,p.DOCTORLASTNAME,t.FirstName,t.Middle,t.LastName FROM dbo.[PracticeandPhysician] AS p CROSS APPLY dbo.fnParseName(p.DOCTORFIRSTNAME + ' ' + p.DOCTORLASTNAME); 请注意,你不能说: SELECT dbo.TableValueFunction('foo'); 你可以说: SELECT dbo.Table; --or SELECT dbo.View; 但是,你可以说: SELECT * FROM dbo.fnParseName('foo bar'); --or SELECT FirstName,Middle,LastName FROM dbo.fnParseName('foo bar'); (不是我已经验证你的功能做你想的,或者这样做有效) 请其他人建议always use the (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |