server是什麼 - t-sql
在SQL中將多個值傳遞給一個函數的參數 (2)
使用CSV
的概念
CREATE FUNCTION [dbo].[uspGetNumbers]
userid,startdate,enddate // define your paramters the way you want
AS
BEGIN
// your code
JOIN dbo.fnSplit(@UserIDs, ',')
END
GO
功能示例:
SELECT [dbo].[uspGetNumbers] '1,2,3,4,5', '', ''
函數Getfunctionname(userid, startdate, enddate)
返回一個表
我的問題是我可以傳遞多個值的變量?
即
getfunctionname(@userid, startdate, enddate)
變量@userid
的值是這樣的
1
2
3
4
5
(實際上使用split
函數將值1,2,3,4,5
分開)
如果我可以請讓我知道
我喜歡的一種方法是創建一個新的用戶定義的表格數據類型。
CREATE TYPE [dbo].[IdList] AS TABLE(
[Id] [int] NULL
)
然後您可以使用該數據類型作為參數之一
CREATE FUNCTION Getfunctionname
(
@UserIDs dbo.IdList READONLY,
@startdate INT,
@endtdate INT
)
RETURNS @ReturnTable TABLE
(
-- ReturnTable
)
AS
BEGIN
-- Query
RETURN
END