一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

sql server 按字符截取字段

 十三笑兮兮 2012-06-26

sql server 按字符截取字段

address='F:\photo\Winter Leaves.jpg'

要求:分段截取每段字符[字段address不能為TEXT類型,否則報錯]
解決方法:

 

insert into student (address,id) values ('F:\photo\Winter Leaves.jpg',5)

 

---截取字符串A的第一個\左邊的字符串

select  left(address,charindex('\',address)-1) as A

from student where id=5

輸出結(jié)果:F:

 

---截取\中間的字符串

select left(stuff(address,1,charindex('\',address),''),charindex('\',stuff(address,1,charindex('\',address),''))-1)

from student where id=5

輸出結(jié)果:photo

 

---截取最后一個\后面的字符串

select reverse(left(reverse(address),charindex('\',reverse(address))-1))

from student where id=5

輸出結(jié)果:Winter Leaves.jpg

 

---截取字符串A的首字幕

select STUFF(address,1, 1, '') from student where id=5

輸出結(jié)果::\photo\Winter Leaves.jpg

 

CHARINDEX函數(shù)返回字符或者字符串在另一個字符串中的起始位置。

語法

  CHARINDEX ( expression1 , expression2 [ , start_location ] )

  參數(shù)

  expression1

  一個表達(dá)式,其中包含要尋找的字符的次序。expression1 是一個短字符數(shù)據(jù)類型分類的表達(dá)式。

  expression2

  一個表達(dá)式,通常是一個用于搜索指定序列的列。expression2 屬于字符串?dāng)?shù)據(jù)類型分類。

  start_location

  在 expression2 中搜索 expression1 時的起始字符位置。如果沒有給定 start_location,而是一個負(fù)數(shù)或零,則將從 expression2 的起始位置開始搜索。

  返回類型

  int

  注釋

  如果 expression1  expression2 之一屬于 Unicode 數(shù)據(jù)類型(nvarchar nchar)而另一個不屬于,則將另一個轉(zhuǎn)換為 Unicode 數(shù)據(jù)類型。

  如果 expression1  expression2 之一為 NULL 值,則當(dāng)數(shù)據(jù)庫兼容級別為 70 或更大時,CHARINDEX 返回 NULL 值。當(dāng)數(shù)據(jù)庫兼容級別為 65 或更小時,CHARINDEX 僅在 expression1  expression2 都為 NULL 時返回 NULL 值。

  如果在 expression2 內(nèi)沒有找到 expression1,則 CHARINDEX 返回 0。

例一:

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

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

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

  例二:  

 計算Northwind.dbo.Customer表中Addresses字段中包含單詞Road或者它的縮寫Rd的記錄數(shù),選擇語句類似這樣:

select count(*) from Northwind.dbo.Customers where CHARINDEX('Rd',Address) > 0 or CHARINDEX('Road',Address)> 0

局限性:在Oracle 10g中無法使用。提示CHARINDEX 標(biāo)識符

CHARINDEX函數(shù)調(diào)用方法如下:

       CHARINDEX函數(shù)返回一個整數(shù),返回的整數(shù)是要找的字符串在被找的字符串中的位置。假如CHARINDEX沒有找到要找的字符串,那么函數(shù)整數(shù)“0”。讓我們看看下面的函數(shù)命令執(zhí)行的結(jié)果:

      CHARINDEX('SQL', 'Microsoft SQL Server')

      這個函數(shù)命令將返回在“Microsoft SQL Server”“SQL”的起始位置,在這個例子中,CHARINDEX函數(shù)將返回“S”“Microsoft SQL Server”中的位置11。
接下來,我們看這個CHARINDEX命令:

      CHARINDEX('7.0', 'Microsoft SQL Server 2000')

      在這個例子中,CHARINDEX返回零,因?yàn)樽址?/span>“7.0” 不能在“Microsoft SQL Server”中被找到。接下來通過兩個例子來看看如何使用CHARINDEX函數(shù)來解決實(shí)際的T-SQL問題。

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲国产丝袜一区二区三区四 | 亚洲人午夜精品射精日韩| 欧美成人高清在线播放| 欧美偷拍一区二区三区四区| 久久大香蕉一区二区三区| 中文字幕有码视频熟女| 国产日韩欧美综合视频| 亚洲成人久久精品国产| 国产内射在线激情一区| 午夜福利大片亚洲一区| 91亚洲国产成人久久精品麻豆| 久久精品a毛片看国产成人| 日韩欧美国产精品自拍| 欧美二区视频在线观看| 欧美成人国产精品高清| 激情五月天免费在线观看| 亚洲精品中文字幕一二三| 夫妻性生活一级黄色录像| av一区二区三区天堂| 国产又粗又爽又猛又黄的| 日韩女优精品一区二区三区| 亚洲天堂有码中文字幕视频| 欧美日韩亚洲国产综合网| 国产又粗又长又大高潮视频| 国产视频一区二区三区四区| 樱井知香黑人一区二区| 日本男人女人干逼视频| 欧美日韩综合在线精品| 国产在线一区中文字幕| 两性色午夜天堂免费视频| 国产精品亚洲一区二区| 丰满少妇被猛烈撞击在线视频| 麻豆视传媒短视频免费观看| 久久福利视频视频一区二区| 国产传媒免费观看视频| 国产爆操白丝美女在线观看| 亚洲天堂精品一区二区| 亚洲一区二区欧美在线| 国产综合欧美日韩在线精品| 白白操白白在线免费观看| 欧美精品中文字幕亚洲|