Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL server中将用户定义函数调用为系统函数_Sql_Sql Server_Sql Function - Fatal编程技术网

在SQL server中将用户定义函数调用为系统函数

在SQL server中将用户定义函数调用为系统函数,sql,sql-server,sql-function,Sql,Sql Server,Sql Function,我已经在SQL server中创建了一个用户定义的函数。是否可以像其他内置函数一样,在select语句中调用这些函数 Create function [dbo].[TIME_TO_SEC](@inputTime time) returns INT As Begin DECLARE @secDiff INT = datediff(second, '00:00:00', @inputTime) return @secDiff; end 目前的呼叫方式如下: DECLARE @r

我已经在SQL server中创建了一个用户定义的函数。是否可以像其他内置函数一样,在select语句中调用这些函数

Create function [dbo].[TIME_TO_SEC](@inputTime time)
returns INT
As
Begin 
    DECLARE @secDiff INT = datediff(second, '00:00:00', @inputTime)
    return @secDiff;
end 
目前的呼叫方式如下:

DECLARE @ret int;
EXEC TIME_TO_SEC @inputTime='01:00:00'
select @ret;
我正在尝试一些简单的事情,比如:

select TIME_TO_SEC('01:00:00') from TimeTable

它在SQL server中可行吗?

是的,它确实可行,而且看起来您已经获得了所需的一切。您试过了吗?

这是可能的,但您需要根据用户的模式引用函数

select dbo.TIME_TO_SEC('01:00:00') from TimeTable

如果您的函数出现问题,请尝试添加“with EXECUTE AS CALLER”

然后用select调用函数

select  dbo.[TIME_TO_SEC](getdate())

是的,您可以调用标量函数作为SELECT查询的一部分。如果需要的话,您可以将列作为参数传递。当您尝试按所述选择该函数时,实际发生了什么?
select  dbo.[TIME_TO_SEC](getdate())