将表值函数应用于源表中某些列的每个值

raf*_*fek 4 t-sql

我有一个表中包含值的表,必须通过某个函数进行拆分,假设为F.函数F获取值并将其拆分为值表 - 结果是表.

将此函数应用于源表的每个值并将结果表与所有值进行拆分的最有效方法是什么?我知道我可以使用光标,但我想知道是否存在一些更智能的解决方案?

结果应该是这样的:

SELECT F(column) FROM SourceTable
Run Code Online (Sandbox Code Playgroud)

但这是不可能的,因为F是表值.

Lie*_*ers 6

一个CROSS APPLY应该做的伎俩.

SELECT *
FROM SourceTable
     CROSS APPLY F(Column)
Run Code Online (Sandbox Code Playgroud)