1樓:匿名使用者
1、建立測試表,
create table test_split(id number, value varchar2(20));
2、插入測試資料
insert into test_split values(1,'12345678');
insert into test_split values(2,'12345');
insert into test_split values(2,'5678');
3、查詢表中記錄,select t.*, rowid from test_split t;
4、編寫sql,每隔兩位用:分割,
select t.*,
rtrim(substr(value, 1, 2) || ':' || substr(value, 3, 2) || ':' ||
substr(value, 5, 2) || ':' || substr(value, 7, 2),
':') value2
from test_split t;
2樓:
直接用估計沒有,可以定義乙個函式轉一下,mssql中有個stuff函式
在指定位置替換或增加字元,比如:
select stuff('12345678', 2, 3, 'abc')
select stuff('12345678', 2, 0, ':')
但只能插入乙個位置。
建議自定義乙個字串處理函式,然後在語句中呼叫吧
比如create function dbo.fn_setcolon (
@oldstr varchar(4000) )
returns varchar(4000)
asbegin
declare @outstr varchar(4000)
set @outstr=''
while (len(@oldstr)>2)
begin
set @outstr=@outstr+left(@oldstr,2)+':'
set @oldstr=right(@oldstr, len(@oldstr)-2)
endif @oldstr<>''
begin
set @outstr=@outstr+@oldstr
endreturn @outstr
endselect dbo.fn_getcolon('123456789')
第二種情況可以先把字串中的字母替換掉,然後再呼叫該函式,建議還是通過前端程式來處理字串。
3樓:匿名使用者
使用right函式。
select right('123456789',6) as cc-----------
result
'456789'
不過移植起來會有點麻煩
如何用sql 語句擷取兩個固定字元之間的字串?
4樓:匿名使用者
select substring(字串,1,patindex(<'%字串%'>,'丘')-1) as 字元1 ,substring(字串,patindex(<'%字串%'>,'丘')+1,patindex(<'%字串%'>,'棟')-patindex(<'%字串%'>,'丘')+1) as 字元2 from 表名
5樓:du瓶邪
一、用到的函式:substring(' ', , )、charindex(' ',' ')
select substring('[email protected]',1,charindex('@','[email protected]')-1)
1.substring(字串表示式,開始位置,長度):
從乙個指定字串的指定位置擷取制定長度的字元;
第乙個引數表示被擷取的字串;
第二個引數表示要在第乙個引數中開始擷取的位置;
第三個引數表示要擷取的長度。
例如:select substring('abc123',1,2) →返回ab
從字串『abc123』的第乙個字元開始擷取,共擷取兩個字元,最後得到『ab』。
2.charindex(字串表示式1,字串表示式2[,整數表示式]):
在字串2中查詢字串1,如果存在返回第乙個匹配的位置,如果不存在返回0。如果字串1和字串2中有乙個是null則返回null。
可以指定在字串2中查詢的起始位置。
例如:select charindex('ab','bcabtabd') → 返回3
select charindex('ab','bcabtabd',4) →返回6
二、用到的函式:left(' ', )、charindex(' ',' ')
select left('[email protected]',charindex('@','[email protected]')-1)
1.left(字串表示式,整數表示式):
從字串表示式的最左邊開始擷取整數表示式個字元。
例如:select left('abcdef',3) →返回abc
6樓:支崖靜
select substring('1丘2棟',0,charindex('丘', '1丘2棟')),substring('1丘2棟',charindex('丘', '1丘2棟') + 1,len('1丘2棟')-2)
java如何去掉字串中間的空格
用str.replace 這樣就可以去掉中間的空格。是replace還是replaceall,你試試!1234 dsf replace java中去除字串中所有空格的幾種方法 java中去掉 空格1.string.trim trim 是去掉首尾空格 2.str.replace 去掉所有空格,包括首尾...
C語言!編寫函式統計子字串在另字串中出現的次數 區分
include include int fun char a,char b int i,j,n1,n2,n3,n4 0 n1 strlen a n2 strlen b for i 0 idun3 0 for j 0 j 如圖所zhi示,望採納。dao。用c語言編寫輸入一字串,統計字串中各個字母出現的...
sql表中的空字串與null中的區別何在
對於sql的新手,null值的概念常常會造成混淆,常認為null是與空字串 相同的事。情況並非如此。例如,下述語句是完全不同的 mysql insert into my table phone values null mysql insert into my table phone values 這...