SQL 錶值函式

2021-09-06 21:48:06 字數 976 閱讀 8154

錶值函式返回的是一張表。

情況:把傳入的字串按指定分隔符轉換成陣列

理解:把字串打散,逐個插入表,這個表就是需要的資料

create

function

[dbo

].[split](

@sql

varchar(8000

),

@splits

varchar(10))

returns

@temp

table (a varchar(100

))as

begin

declare

@iint

set@sql

=rtrim(ltrim(@sql

))

set@i

=charindex(@splits,@sql

)

while

@i>=

1begin

insert

@temp

values(left(@sql,@i-1

))

set@sql

=substring(@sql,@i

+1,len(@sql)-@i)

set@i

=charindex(@splits,@sql

)

endif

@sql

<>

''insert

@temp

values (@sql

)

return

end

呼叫:

select

*from split('

1,20,13,4,5

',',

')

結果:

SQL錶值函式和標量值函式的區別

原文 sql錶值函式和標量值函式的區別 寫sql儲存過程經常需要呼叫一些函式來使處理過程更加合理,也可以使函式復用性更強,不過在寫sql函式的時候可能會發現,有些函式是在錶值函式下寫的有些是在標量值下寫的,區別是錶值函式只能返回乙個表,標量值函式可以返回基型別。舉個例子,當使用者刪除乙個節點的時候,...

簡述錶值函式

錶值函式 建立示例表 create table t name varchar 20 go insert into t select a union select b go 內嵌錶值函式 語法 create function 函式名 引數列表 returns table as return t sql...

Sqlserver錶值函式

實現錶值函式很簡單 下面是乙個不帶輸入引數的錶值函式 createfunctiontvpoints returnstable as return select fromtb users 這個錶值函式數查詢所有使用者表的資料 對於多語句錶值函式,在 begin.end 語句塊中定義的函式體包含一系列 ...