Jul*_*les 6 sql t-sql sql-server sql-server-2005
我有一个我需要使用的函数,我传入一个var char并将记录插入一个名为@ValueList的表中.但是我不确定如何调用/使用此功能?
ALTER FUNCTION [dbo].[GetListFromCSVString]
(
@csvString varchar(500)
)
RETURNS @ValueList TABLE
(
ListValue varchar(50)
)
AS
begin
-- body
End
Run Code Online (Sandbox Code Playgroud)
select ListValue
from dbo.GetListFromCSVString('1,2,3')
Run Code Online (Sandbox Code Playgroud)
结果:
ListValue
----------
1
2
3
Run Code Online (Sandbox Code Playgroud)
如果函数的参数是另一个表中的字段,则必须使用cross apply获取源表中每行的值列表.
-- Table to test on
declare @T table
(
ID int identity primary key,
SomeColumn varchar(500)
)
-- Sample data
insert into @T values('1,2,3')
insert into @T values('a,b,c')
-- Use the function
select ST.ID,
GL.ListValue
from @T as ST
cross apply dbo.GetListFromCSVString(ST.SomeColumn) as GL
Run Code Online (Sandbox Code Playgroud)
结果:
ID ListValue
----------- ----------
1 1
1 2
1 3
2 a
2 b
2 c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6632 次 |
| 最近记录: |