分割再成批插入
declare @s varchar(
8000
),@sql nvarchar(
4000
)set@s=
'1,12,1212,4545
'set
@sql='
insert into t(col) select '+
replace(@s,',
','col union all select ')
exec(@sql)
測試drop table #table
declare @s varchar(
8000
),@sql nvarchar(
4000
)set@s=
'1,12,1212,4545,454
'create table #table (col
int)
set@sql='
insert into #table(col) select '+
replace(@s,',
','col union all select ')
exec(@sql)
select
*from #table
create function f_split(@sourcesql varchar(
8000
),@strseprate varchar(
10))
returns @temp table(a varchar(
100))
--實現split功能 的函式
asbegin
declare @i
intset
@sourcesql
=rtrim(ltrim(@sourcesql))
set@i
=charindex(@strseprate,@sourcesql)
while
@i>=
1begin
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(
'abc:bc:c:d:e',
':')
、get_strarraylength
create function get_strarraylength
(@str varchar(
1024
),
--要分割的字串
@split varchar(
10)
--分隔符號
)returns
intas
begin
declare @location
intdeclare @start
intdeclare @length
intset
@str
=ltrim(rtrim(@str))
set@location
=charindex(@split,@str)
set@length=1
while
@location
<>
0begin
set@start
=@location+1
set@location
=charindex(@split,@str,@start)
set@length
=@length+1
endreturn
@length
end2
、get_strarraystrofindex
create function get_strarraystrofindex
(@str varchar(
1024
),
--要分割的字串
@split varchar(
10),
--分隔符號
@index
int--
取第幾個元素
)returns varchar(
1024)as
begin
declare @location
intdeclare @start
intdeclare @next
intdeclare @seed
intset
@str
=ltrim(rtrim(@str))
set@start=1
set@next=1
set@seed
=len(@split)
set@location
=charindex(@split,@str)
while
@location
<>
0and @index
>
@next
begin
set@start
=@location
+@seed
set@location
=charindex(@split,@str,@start)
set@next
=@next+1
endif
@location =0
select @location
=len(@str)+1
--這兒存在兩種情況:
1、字串不存在分隔符號
2、字串中存在分隔符號,跳出while迴圈後,@location為0,那預設為字串後邊有乙個分隔符號。
return
substring(@str,@start,@location
-@start)
end3
、應用:
set@next=1
while
@next
<=
dbo.get_strarraylength(@keywords,',
')begin
ifdbo.get_strarraystrofindex(@keywords,',
',@next)
<>
''set
@strwhere
=@strwhere +'
or keywords like ''%
'+dbo.get_strarraystrofindex(@keywords,',
',@next)+'
%'''
set@next
=@next+1
end
如何分割sdf資料庫
f d zinc 400 ligands ligand46 concat 46 split number 35000 number of molecules in each file number of sdfs split number i 0j 0 f2 open f str j sdf w f...
scrapy 資料庫插入
1 安裝mysql sudo apt get install mysql 2 安裝python mysql sudo apt get install python mysqldb 3 安裝python支援mysql的驅動sudo pip install pymysql notice 安裝時密碼不要為...
插入資料庫操作
步驟如下 1 連線資料庫 conn pymysql.connect host user passwd db charset 2 建立操作游標,建立mysql的操作連線 cursor conn.cursor 3 寫sql語句 插入操作,方法有以下幾個 方法一 用format 注意項是若引數是字串形式,...