1. pl/sql設置列於列之間的分隔符號
一般用tab符,對應ascii碼是chr(9) .
pl/sql developer 工具可以直接導出sql腳本,不需要自己導的:
選擇tools ->export tables 選中你要導出的表,下面選擇sql inserts 然後勾選create tables(導出建表語句),如果要把表中的數據導出,再勾選include storage;
2. sql中的語句間隔符是什麼(就是說本來是兩條語句,現在想把他們寫在一起,應該在中間加什麼)
只要是分兩行就行,oracle中是必須要加分號的。
3. sql如何根據隔符分割字元串
資料庫自帶的substring()、charindex()函數,可以根據需要截取字元串,但並不能實現分割
自己寫分割函數,以下可以參考:
createfunctionGetStr
(
@strvarchar(1024),--要分割的字元串
@splitvarchar(10),--分隔符號
@indexint--取第幾個元素
)
returnsvarchar(1024)
as
begin
declare@locationint
declare@startint
declare@nextint
declare@seedint
set@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
end
if@location=0select@location=len(@str)+1
returnsubstring(@str,@start,@location-@start)
end
4. sql 如何以逗號為分隔符分割一個欄位的值
可用substring函數。
創建測試表及數據:
createtabletest
(idvarchar(10));
insertintotestvalues('123abc');
insertintotestvalues('456def');
insertintotestvalues('789ghi');
執行:
selectsubstring(id,1,3)+','+substring(id,4,3)asidfromtest
結果截圖:
也就顯示成了用逗號分隔的樣子。
5. sql 分隔符
給你一個能處理分隔符的函數,這函數是sql server平台的,返回一個臨時表
if exists(select name from sysobjects where id = object_id(N'jk01_f_split'))
drop function jk01_f_split
go
create function jk01_f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
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)
end
if @SourceSql<>''
insert @temp values(@SourceSql)
return
end
go
用法
select * from jk01_f_split(欄位名, '分隔符')
後續的漢字拼接顯示,建議你用其它程序實現
6. SQL語句實現拆分帶間隔符號的欄位
如果ID和內容是以空格分隔的,那麼就這么寫
select
left(m_content,charindex('
',m_content)-1)
as
ID,stuff(m_content,1,charindex('
',m_content),'')
as
content
from
表
當然,如果記錄中有不完全按照id+空格+內容這樣的,語句可能會有問題。
「向substring函數傳遞了無效的length參數」正是因為m_content中包含不符合櫻察"id+空格+內容"的數山頌胡據
你可以用
select
*
from
表
where
m_content
not
like
'%
%'
or
m_content
is
null
來找出這樣的行。
另外我給你的語句是讓你逗攔做參考的,你首先知道用到的函數是什麼意思才可以。