① sql中截取字元串中間數據
select
substring(欄位名,charindex('-',欄位名,0)+1,len(欄位名)-charindex('-',reverse(欄位名),0)-charindex('-',欄位名,0))
from
表名
substring是截取函數
charindex是算特定符號位置的函數
reverse是把字元串排反序的函數
了解一下這三個函數吧,這句你就應該懂了,我這句剛才試驗了一下,沒問題,環境sqlserver2000
請採納。
② sql server 取兩個字元之間的字元
摘要 上面的回答是在清楚兩個字元之間的字元個數和字元所在開始的位置的情況下的寫法,如果是查找任意兩個字元間(開始字元和終止字元)的字元串的話應該是這樣寫:select substring(待查找欄位,charindex('開始字元',待查找欄位)+1,charindex('終止字元',待查找欄位)-charindex('終止字元',待查找欄位)-1) from 表 where 條件 以上是sqlserver中的寫法。
③ sql 如何截取一個欄位里某一字元串中間的字元
--這個查詢需要注意的是qwer後的需要查詢的字元串必須是一個空格,不能有的是一個空格有的是兩個。也就是格式要固定。
--定義參數
create table #a (string varchar(max))
declare @sql varchar(max)
declare @a varchar(max)
select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'--這個是要查詢的字元串
---------------------------查詢qwer後面的字元串----------------------------------------
while charindex('qwer',@a)<>0
begin
select @a=SUBSTRING ( @a,charindex('qwer',@a)+5,LEN(@a)-charindex('qwer',@a)-4)
insert into #a values (@a)
end
select SUBSTRING (LTRIM ( string) ,1,charindex(' ',LTRIM ( string))) as result from #a
--查詢結果
result
zxcv
yuchor
abcd
④ SQL 查詢中如何取出中間指定的幾位數
欄位=「OM手冊」
select substring(欄位,3,2),* from 表
最後結果就是 「手冊」
⑤ 求一個提取欄位中間數字的SQL語句
改過了
把數取出:「第」和「節」兩個字佔4個字元
select
substring(chaptername,3,len(chaptername)-4)
from
chapter
如果更新到order欄位:
update
chapter
set
order=convert(smallint,substring(chaptername,3,len(chaptername)-4))
⑥ 如何用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