SQL 是否具有在表函数之外返回多列的函数的概念?这是一个例子:
SELECT
id,
SPLIT_NAME(name, ' ')
FROM
table
我希望该SPLIT_NAME
函数产生两列,一列用于第一列,另一列用于最后,因此输出将是:
id first last
1 tom jones
我知道这可以通过以下方式完成:
SELECT id, SPLIT(...) first, SPLIT(...) last FROM table
或者可能使用表函数,例如:
SELECT id, first, last FROM table, SPLIT_NAME(name, ' ')
但是,想知道 SQL 是否有任何可以产生多个输出的标量函数,因为我认为join
如果加入像十亿行这样的东西(希望)函数本身可能只是内联。
注意:Postgres 或 SQL Server 都可以。