Ⅰ 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('hell[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)