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

sql字元截取

發布時間: 2023-01-04 03:48:17

1. 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 函數的長度參數無效」的錯誤。

2. sql字元串截取查詢,該怎麼解決

SQL Server 中截取字元串常用的函數:

1.LEFT ( character_expression , integer_expression )
函數說明:LEFT ( '源字元串' , '要截取最左邊的字元數' )
返回從字元串左邊開始指定個數的字元
select LEFT('SQL_Server_2008',4 );
返回結果:SQL_
2.RIGHT ( character_expression , integer_expression )
函數說明:RIGHT ( '源字元串' , '要截取最右邊的字元數' )
返回字元串中從右邊開始指定個數的 integer_expression 字元
select RIGHT('SQL_Server_2008',4 );
返回結果:2008
3.SUBSTRING ( character_expression , start , length )
函數說明:SUBSTRING ( '源字元串' , '截取起始位置(含該位置上的字元)' , '截取長度' )
返回字元、binary、text 或 image 表達式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回結果:Server

3. 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' 截取第一個 '/' 之前的所有字元

4. 【搬運】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

感謝二位!

5. 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

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

工具/材料:Management Studio。

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

7. sql語句,能夠截取指定欄位後面的一個字元串嗎

可以的,需要用到charindex函數和substring函數。

CHARINDEX函數常常用來在一段字元中搜索字元或者字元串。

substring

public String substring(int beginIndex)

返回一個新的字元串,它是此字元串的一個子字元串。該子字元串始於指定索引處的字元,一直到此字元串末尾。

(7)sql字元截取擴展閱讀

javascript示例

1 <scripttype="text/javascript">

2 varstr="Helloworld!"

3 document.write(str.substring(1,3));4 </script>

上面返回字元串:"el";

str.substring(1,2) //返回e

str.substring(1) //返回"elloworld";

還有此函數中會出現奇怪的現象,當出現str.substring(5,0);

這又是怎麼回事,不過返回的是"Hello",

str.substring(5,1) //返回"ello",截去了第一位,返回餘下的.

可見substring(start,end),可以有不同的說明,即start可以是要返回的長度,end是所要去掉的多少個字元(從首位開始).

在JS中,substr(start,length),用得較方便.

CustomName包含客戶的First Name和Last Name,它們之間被一個空格隔開。我們用CHARINDX函數確定兩個名字中間空格的位置。通過這個方法,我們可以分析ContactName列的空格位置,這樣可以只顯示這個列的last name部分。

select top 5 substring(ContactName,charindex(' ',ContactName)+1,len(ContactName)) as [Last Name] from customers

CHARINDEX函數找到First Name和Last Name之間的空格,所以SUBSTRING函數可以分開ContactName列,這樣就只有Last Name被選出。在CHARINDEX函數返回的整數上加1,這樣Last Name不是從空格開始。

熱點內容
資料庫組別 發布:2025-07-05 06:15:53 瀏覽:710
我的世界伺服器怎樣設置新手裝備只能拿一次 發布:2025-07-05 06:15:53 瀏覽:984
緩存40集電視劇需要多少流量 發布:2025-07-05 05:56:44 瀏覽:64
iso怎麼解壓到u盤 發布:2025-07-05 05:49:02 瀏覽:890
php參數設置 發布:2025-07-05 05:49:00 瀏覽:995
javacharacter 發布:2025-07-05 05:38:36 瀏覽:735
伺服器pcid地址怎麼看 發布:2025-07-05 05:35:40 瀏覽:384
安卓系統賺錢靠什麼 發布:2025-07-05 05:28:06 瀏覽:159
編譯不出來的原因 發布:2025-07-05 05:14:00 瀏覽:69
絕地求生國際服如何選擇伺服器 發布:2025-07-05 05:08:56 瀏覽:66