sql實現分段功能的函式

2021-04-12 15:09:09 字數 1176 閱讀 3019

--簡單分段語句

declare @b varchar(20)

select @b='a-b-c-d-e'

--處理

declare @sql varchar(4000)

select @sql= 'select '

''+replace(@b,'-',''

' union all select '

'') ''

''exec(@sql)

--實現 split 分段功能的函式

create

function f_split(@sourcesql varchar(8000),@strseprate varchar(10))

returns @temp table(a varchar(100))

asbegin

declare @i int

set @sourcesql=rtrim(ltrim(@sourcesql))

set @i=charindex(@strseprate,@sourcesql)

while @i>=1

begin

insert @temp values(left(@sourcesql,@i-1))

set @sourcesql=substring(@sourcesql,@i+1,len(@sourcesql)-@i)

set @i=charindex(@strseprate,@sourcesql)

endif @sourcesql<>'/'

insert @temp values(@sourcesql)

return

end--用法:

select * from dbo.f_split('a:b:c:d:e',':')

--輸出

a1 a

2 b3 c

4 d5 e

--實現簡單模糊查詢的過程

create procedure splitter

@str

varchar(1024)

asdeclare @s varchar(1024)

declare @i int

set @s='select message from t_qqmsglog where 1=1'

set @i=1

SQL 分頁功能的實現

1.首先介紹row number over的基本用法 2.看一下例項資料 初始化資料 create table employee empid int deptid int salary decimal 10,2 insert into employee values 1,10,5500.00 ins...

SQL 分頁功能的實現

1.首先介紹row number over的基本用法 2.看一下例項資料 初始化資料 create table employee empid int deptid int salary decimal 10,2 insert into employee values 1,10,5500.00 ins...

SQL 分頁功能的實現

1.首先介紹row number over的基本用法 2.看一下例項資料 初始化資料 create table employee empid int deptid int salary decimal 10,2 insert into employee values 1,10,5500.00 ins...