Sql server 找不到任何一列";dbo“;或用户定义的函数或聚合;dbo.fnCustomDate“日期”;,或者名称不明确

Sql server 找不到任何一列";dbo“;或用户定义的函数或聚合;dbo.fnCustomDate“日期”;,或者名称不明确,sql-server,function,Sql Server,Function,我正在处理一个基本函数,并尝试执行它,但它不起作用,并抛出以下错误 找不到列“dbo”或用户定义函数或聚合“dbo.fnCustomDate”,或者名称不明确 功能如下: CREATE FUNCTION [dbo].[fnCustomDate] ( @DateFormat AS DATETIME ) RETURNS VARCHAR (MAX) AS BEGIN RETURN DATENAME(DW,@DateFormat) + ' ' +

我正在处理一个基本函数,并尝试执行它,但它不起作用,并抛出以下错误 找不到列“dbo”或用户定义函数或聚合“dbo.fnCustomDate”,或者名称不明确

功能如下:

CREATE FUNCTION [dbo].[fnCustomDate]
(
    @DateFormat AS DATETIME
)
RETURNS VARCHAR (MAX)
AS
    BEGIN
        RETURN  DATENAME(DW,@DateFormat) + ' ' +
                DATENAME(D,@DateFormat) +
        CASE
            WHEN DAY(@DateFormat) IN (1, 21, 31) THEN 'st'
            WHEN DAY(@DateFormat) IN (2, 22) THEN 'nd'
            WHEN DAY(@DateFormat) IN (3, 23) THEN 'rd'
            ELSE 'th'
        END + ' ' +
                DATENAME(M,@DateFormat) + ' ' +
                DATENAME(YY,@DateFormat)    
    END
GO
正在尝试在日期列的表上执行它:

Select [dbo].[fnCustomDate](column name)
from [dbo].[tablename]
找不到列“dbo”或用户定义函数或聚合“dbo.fnCustomDate”,或者名称不明确

未找到函数时返回此错误。检查的简单事项:

您是否连接到正确的数据库

函数拼写正确吗

模式dbo是否存在

我的函数是否在dbo模式中


注意:该函数没有任何错误,或者您在提供的示例中如何调用它。

我猜您需要做的就是从Management Studio连接到数据库
dbo
并不意味着没有给定数据库的上下文。太好了!非常感谢。调用函数时,我缺少函数前面的数据库名称。从[dbo].[tablename]中选择[databasename].[dbo].[fnCustomDate](列名)。这起作用了。谢谢你的意见。