如何用sql 語句擷取兩個固定字元之間的字串

2021-10-05 03:11:47 字數 2075 閱讀 5250

1樓:匿名使用者

select substring(字串,1,patindex(<'%字串%'>,'丘')-1) as 字元1 ,substring(字串,patindex(<'%字串%'>,'丘')+1,patindex(<'%字串%'>,'棟')-patindex(<'%字串%'>,'丘')+1) as 字元2 from 表名

2樓: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

3樓:支崖靜

select substring('1丘2棟',0,charindex('丘', '1丘2棟')),substring('1丘2棟',charindex('丘', '1丘2棟') + 1,len('1丘2棟')-2)

sql server 如何擷取一個字串中第2個'-'後面的字元

4樓:司馬刀劍

sql語句可以擷取指定欄位後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。

如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。

可用如下語句:

1select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

結果截圖:

charindex函式說明:

語法:charindex ( expression1 , expression2 , [ start_location ] )

引數:expression1

一個表示式,其中包含要尋找的字元的次序。expression1 是一個短字元資料型別分類的表示式。

expression2

一個表示式,通常是一個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。

start_location

在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜尋。

substring函式說明:

語法:substring( expression, start, length)

引數:expression 字串、二進位制字串、文字、影象、列或包含列的表示式start 整數或可以隱式轉換為 int 的表示式,指定子字串的開始位置length 整數或可以隱式轉換為 int 的表示式,指定子字串的長度

兩個SQL語句的差值

select value,max time min time from d live data where field id 156 group by value 這樣嗎bai du,你之前那zhi 個不daogroup by能執行 回成功嗎?答 在sql語句中怎樣計算出兩個日期的差值 在sql語句...

sql語句先要查詢滿足兩個條件的查詢語句,然後統計滿足兩個條

這樣試試 select count from jtwh zb guzhang where quick y and gzok handling sql查詢兩個表中滿足某些條件的資料總數 如果欄位一樣的話,可以用union all,即select from 表1 where a,b,cunion all...

sql兩個表多列聯合查詢,sql語句 同時查詢兩個表

select a.b.備註 from select 姓名,一班,一班 as 班級 from 課程 表 union all select 姓名,二班,二班 as 班級 from 課程 表 union all select 姓名,三班,三班 as 班級 from 課程 表 a left join 流水錶...