sql語句怎麼在字串中間加幾個字元

2021-12-22 06:08:59 字數 2687 閱讀 5249

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 這...