如何正确使用表值函数?
Posted
技术标签:
【中文标题】如何正确使用表值函数?【英文标题】:How to properly use table-valued functions? 【发布时间】:2012-09-03 12:24:43 【问题描述】:我有一个包含nvarchar
列的表。存储在此nvarchar
列中的字符串包含我需要提取的数字。我的数据库中存在一个表值RegexMatches
函数,我可以使用它来执行此操作(它将返回数字模式的匹配列表)。
我的要求:
这个表值函数必须应用于表的每一行中的这一列。我无法将中间结果存储在任何地方(意味着第 1 行的函数 - 存储 - 将函数应用于第 2 行 - 存储),因为我不知道那里会有多少条记录,而且很可能有 100 条记录。在过程结束时,我应该有一个临时表,其中存储了从所有行中提取的所有这些数字。
【问题讨论】:
【参考方案1】:您想使用CROSS APPLY。参见更多示例here。
【讨论】:
以上是关于如何正确使用表值函数?的主要内容,如果未能解决你的问题,请参考以下文章
SQL 2005 - 表值函数编译正常,但选择时在 .. 附近抛出不正确的语法
sql 如何使用表值函数。 ufnGetContactInformation是函数
如何在 SQL Server where 子句中使用表值函数