當前位置:首頁 » 編程語言 » 截取字元串sql

截取字元串sql

發布時間: 2023-01-16 18:53:33

sql中where截取字元串字元

不管哪個庫,sql中一般都支持substring 或者它的變種 substr left right mid等

❷ 3.SQL字元串截取技巧

       有時我們會臨時寫一些SQL腳本來統計一些東西,或者是提供視圖或者存儲過程給第三方使用。但是有些內容是串聯起來存在一個欄位中的。

比如:sMZ(民族)      sLx(聯系方式)

              01/漢族            tel:123456/qq:87654321/phone:13812345678

SELECT SUBSTRING('01/漢族',4,2)   漢族

SELECT RIGHT('01/漢族',2)   漢族  --也是一樣的 

取民族很簡單 如果要取手機號phone 就比較麻煩了,因為我們不知道QQ是幾位的

或者qq電話可能沒有填寫了,單純依靠欄位長度截取不了的。

這樣就需要變通下了:

SELECT SUBSTRING('tel:123456/qq:87654321/phone:13812345678',

charindex('/phone','tel:123456/qq:87654321/phone:13812345678')+1,1000)

使用charindex獲取'/phone'字元的其實位置 嵌套SUBSTRING截取

如果在MySQL中還可以這樣:

substring_index('tel:123456/qq:87654321/phone:13812345678', '/', -1) 

'phone:13812345678' 截取第一個 '/' (倒數)之後的所有字元

substring_index('tel:123456/qq:87654321/phone:13812345678', '/', 1) 

'tel:123456' 截取第一個 '/' 之前的所有字元

❸ SQL SERVER 字元串截取

1.將字元串中從某個字元開始截取一段字元,替換成另一字元

select   stuff('helloworld!',4,4,'****')

hel****rld!

2.指定字元串起始位置,截取指定長度

select  substring('helloworld!',4,5)

lowor

3.替換指定字元串

select   replace('helloworld!','ld','aa')

helloworaa!

4.去除字元串兩端空格

select  ltrim(' helloworld!')

helloworld!

5.用0替換NULL【isnull( )】

select     ISNULL(KCRKD2_SCDDLS,0)   from    KCRKD2

返回0

6.取字元串,再轉化為整數

select      convert(float,substring(xsddmx_wlbh,6,3))  from   XSDDMX

7.字元串前三個是固定的,後面長度是變化的用LEN()取字元串長度,去掉前三個字元(截取右端固定字元數換成LEFT)

SELECT    RIGHT(KCRKD3_JH,LEN(KCRKD3_JH)-3)      FROM     KCRKD3

返回B160459B01487

8.從『-』向後截取8位字元(charindex()返回字元位置)

select    SUBSTRING('E03AHJC-E1701005020184',charindex('-','E03AHJC-E1701005020184')+1,8)

9. replace將『h』替換

SELECT     REPLACE('Hello,World!','h','2')   2ello,World!

SELECT     REPLACE('Hello,World!','h','')      ello,World!

SELECT     REPLACE('Hello,World!',' ','2')      Hello,World!

10.復制字元

select      REPLICATE('Hello,World!',3)

時間函數

1.截取兩個時間的時間差

select  DATEDIFF(D,TMBASE_DATE,GETDATE())  from     TMBASE

❹ 如何從多個位置截取字元串的SQL語句

SQL 中從多個位置截取字元串,需要配合left,right,rtrim三個函數來實現。

一、函數語法:

1、left()
LEFT (<character_expression>, <integer_expression>)
返回character_expression 左起 integer_expression 個字元。

2、RIGHT()
RIGHT (<character_expression>, <integer_expression>)
返回character_expression 右起 integer_expression 個字元。

3、LTRIM(character_expression) 把字元串character_expression頭部的空格去掉。

4、RTRIM(character_expression) 把字元串character_expression尾部的空格去掉。

二、代碼實例:

圖中以:表a,ID為2,C列的值「12345678」為例:

其中最後一句中的right(rtrim(c),1),是因為字元只有8位,在right函數中,系統自動按C列定義的長度使用空格補足。也就是說如果是right(c,1)返回空字元「」,所以使用rtrim(c)把右邊空格刪除。

❺ 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資料庫截取字元串函數

SQL截取字元串函數:
A.截取從字元串左邊開始N個字元
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Left(@S1,4)
------------------------------------
顯示結果:
http
B.截取從字元串右邊開始N個字元(例如取字元www.163.com)
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.163.com'
Select
right(@S1,11)
------------------------------------
顯示結果:
www.163.com
C.截取字元串中任意位置及長度(例如取字元www)
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
SUBSTRING(@S1,8,3)
------------------------------------
顯示結果:
www
以上例子皆是已知截取位置及長度,下面介紹未知位置的例子
2.截取未知位置的函數
A.截取指定字元串後的字元串(例如截取http://後面的字元串)
方法一:
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Substring(@S1,CHARINDEX('www',@S1)+1,Len(@S1))
------------------------------------
顯示結果:
www.163.com
需要注意:CHARINDEX函數搜索字元串時,不區分大小寫,因此CHARINDEX('www',@S1)也可以寫成CHARINDEX('WWW',@S1)
方法二:(與方法一類似)
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
Substring(@S1,PATINDEX('%www%',@S1)+1,Len(@S1))
--此處也可以這樣寫:Select
Substring(@S1,PATINDEX('%//%',@S1)+2,Len(@S1))
------------------------------------
顯示結果:
www.163.com
函數PATINDEX與CHARINDEX區別在於:前者可以參數一些參數,增加查詢的功能
方法三:
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
REPLACE(@S1,'http://','')
------------------------------------
顯示結果:
www.163.com
利用字元替換函數REPLACE,將除需要顯示字元串外的字元替換為空
方法四:
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='http://www.xrss.cn'
Select
STUFF(@S1,CHARINDEX('http://',@S1),Len('http://'),'')
------------------------------------
顯示結果:
www.163.com
函數STUFF與REPLACE區別在於:前者可以指定替換范圍,而後者則是全部范圍內替換
B.截取指定字元後的字元串(例如截取C:\Windows\test.txt中文件名)
與A不同的是,當搜索對象不是一個時,利用上面的方法只能搜索到第一個位置
方法一:
以下是代碼片段:
Declare
@S1
varchar(100)
Select
@S1='C:\Windows\test.txt'
select
right(@S1,charindex('\',REVERSE(@S1))-1)
-------------------------------------
顯示結果:
text.txt
利用函數REVERSE獲取需要截取的字元串長度

❼ 【搬運】Sql Server中截取字元串的常用方法

1、LEFT()  從左邊截

語法:LEFT(character,integer)    返回 從字元串左邊開始 指定個數的字元

說明:參數1:要截取的字元串,參數2:截取字元個數

示例:selectLEFT('SqlServer_2008',3)

結果:Sql

2.RIGHT()  從右邊截

語法:RIGHT(character,integer)   返回 從字元串右邊開始 指定個數的字元

說明:參數1:要截取的字元串,參數2:截取字元個數

示例:selectLEFT('SqlServer_2008',4)

結果:2008

3.SUBSTRING()   中間截

語法:SUBSTRING(character,start,length)   返回從字元串 中間 的字元

說明:參數1:要截取的字元串,參數2:開始截取的位數,參數3:要截取的字元長度

示例:selectSUBSTRING('SqlServer_2008',4,6)--4)

結果:Server

以上。

https://www.cnblogs.com/xielong/p/7670757.html

感謝二位!

❽ sql語句,如何截取指定欄位某一個字元出現後的後面的字元串嗎

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。

❾ sql server截取某個特定字元前的字元串

left(列名,charindex(特定字元,列名)-1)

left:返回從左邊開始指定字元串

charindex:找到特定並返回字元所在位置

select  left(case_name,charindex('_',case_name)-1) from table1  where charindex('_',case_name)-1 > 0

注意:不加where後面的條件會報 「傳遞給 LEFT 或 SUBSTRING 函數的長度參數無效」的錯誤。

熱點內容
sql的視圖是從中導出的 發布:2025-07-16 09:31:34 瀏覽:783
安卓如何打開shell窗口 發布:2025-07-16 09:28:09 瀏覽:311
華為榮耀備忘錄文件夾 發布:2025-07-16 09:23:23 瀏覽:972
基於特徵匹配演算法 發布:2025-07-16 09:18:23 瀏覽:46
夢香神奇寶貝伺服器的ip 發布:2025-07-16 09:14:07 瀏覽:212
電子密碼手套箱是什麼 發布:2025-07-16 09:13:27 瀏覽:799
手機連接資料庫 發布:2025-07-16 09:13:23 瀏覽:132
廣東伺服器存儲虛擬主機 發布:2025-07-16 09:13:17 瀏覽:326
絕地逃亡電腦怎麼設置最低配置 發布:2025-07-16 09:10:50 瀏覽:425
聯想z5的配置如何 發布:2025-07-16 09:08:21 瀏覽:879