sql - 在 SQL 中将多个值传递给函数的参数

标签 sql sql-server sql-server-2008 tsql sql-server-2012

有函数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

关于sql - 在 SQL 中将多个值传递给函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33491873/

相关文章:

mysql - 显示参加过多个赛事的运动员姓名的 SQL 查询

sql - 我如何从最小和最大分组依据中获取日期?

Mysql:如何在不知道ID的情况下将数据添加到行中?

SQL 服务器 : Stored proc can execute well but at the end error "Cannot find the object"

sql-server - 如何强制子查询与 #temp 表一样执行?

sql - 测试链接服务器中是否存在表(服务器名称是参数)

sql-server - SQL Server Profiler 未显示嵌入在 ColdFusion 组件中的 SQL 语句

mysql - SQL:选择文本字段的子字符串比选择整个值更快

sql-server - 关键字 'DEFAULT' 附近的语法不正确

sql-server - SQL Server RowVersion/时间戳 - 比较