當前位置:首頁 » 編程語言 » sql獲取已指定符號分割的值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql獲取已指定符號分割的值

發布時間: 2022-08-14 17:48:30

sql 在一列中,以某個字元為分隔符,獲取這個分隔符前面的並顯示出來

SELECT LEFT(email,charindex('#',email)-1) FROM test WHERE email like '%#%';

Ⅱ sql 查詢按指定的字元串個數分割字元串 比如123456789 按3個字元串分割 輸出結果如下 123 456 789

SELECT SUBSTRING('123456789',1,3) +' '+SUBSTRING('123456789',4,3) +' '+SUBSTRING('123456789',6,3)

Ⅲ sql 怎麼截取固定符號之間的數

先用charindex 判斷出%位置,然後substring 截取,你要循環,先循環出%的個數+2就可以了,具體方法看你都會replace,那你應該會用的,我就不寫了。
這是sql的語法

oracle的話方法一樣,就是語法不同而已

Ⅳ sql 如何以逗號為分隔符分割一個欄位的值

可用substring函數。

創建測試表及數據:

createtabletest
(idvarchar(10));

insertintotestvalues('123abc');
insertintotestvalues('456def');
insertintotestvalues('789ghi');

執行:

selectsubstring(id,1,3)+','+substring(id,4,3)asidfromtest

結果截圖:

也就顯示成了用逗號分隔的樣子。

Ⅳ 簡單SQL語句,如何截取指定分隔符前字元串

一、用到的函數: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

Ⅵ SQL如何根據符號截取字元串

這個你可以用explode('字元串名,',');來分隔,得到的是一個數組。
比如$a="1,2,3,4,5,6,7,8";
$arr=explode($a,',');
這樣$arr這個數組的元素就成了$arr=array('1','2','3','4','5','6','7','8');了,輸出即可
當然這是PHP的

Ⅶ SQL如果提取某些符號中的數值

如果字元是固定的,比如*,可以考慮使用f_split函數來分隔處理再處理。
比如:SELECT * FROM dbo.f_split('31.5*1.25*18','*')
結果:
col
--------------------------------------------------
31.5
1.25
18

Ⅷ SQL怎麼取得某個欄位中符號之間的數據

declare @str varchar(50); -- 截取前的字元串
declare @delimit varchar(1); -- 分隔符

set @str='mgmjs1_Apv:125712441117929:30';
set @delimit=':';

select SUBSTRING(@str,CHARINDEX(@delimit,@str)+1,CHARINDEX(@delimit,@str,CHARINDEX(@delimit,@str)+1)-CHARINDEX(@delimit,@str)-1)

如果是在表裡把字元串變數替換成欄位名

Ⅸ sql欄位里有逗號隔開的數據,怎麼取值

sql欄位有逗號隔開,數據取值的方法。

如下參考:

1.查詢資料庫表的所有欄位,直接使用select語句,如下圖。

Ⅹ SQL 特定字元串分割

	SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO

CREATEfunction[dbo].[SplitString]
(
@Inputnvarchar(max),
@Separatornvarchar(max)=',',
@RemoveEmptyEntriesbit=1
)
returns@TABLEtable
(
[Id]intidentity(1,1),
[Value]nvarchar(max)
)
as
begin
declare@Indexint,@Entrynvarchar(max)
set@Index=charindex(@Separator,@Input)

while(@Index>0)
begin
set@Entry=ltrim(rtrim(substring(@Input,1,@Index-1)))

if(@RemoveEmptyEntries=0)or(@RemoveEmptyEntries=1and@Entry<>'')
begin
insertinto@TABLE([Value])Values(@Entry)
end

set@Input=substring(@Input,@Index+datalength(@Separator)/2,len(@Input))
set@Index=charindex(@Separator,@Input)
end

set@Entry=ltrim(rtrim(@Input))
if(@RemoveEmptyEntries=0)or(@RemoveEmptyEntries=1and@Entry<>'')
begin
insertinto@TABLE([Value])Values(@Entry)
end

return
end

方法是其他地方找的

set@str1='1,2,3'
select[Value]from[dbo].[SplitString](@str1,',',1)