㈠ sql截取字元串
selectWBOOK_NO=
casewhenWBOOK_NOlike'%H%'andWBOOK_NOnotlike'%HW%'thenSUBSTRING(WBOOK_NO,7,9)
whenWBOOK_NOlike'H%'andthenSUBSTRING(WBOOK_NO,8,9)end,
WBOOK_NO
fromEMS_PDE_HEADWHEREWBOOK_NO='H3001720130823003698'ORWBOOK_NO='HW300172012048035872'
LIKE 'H%'時再and NOT LIKE 'HW%'就好啦
㈡ sql截取字元串!
declare
@s
nvarchar(200),@s0
nvarchar(20),@s1
nvarchar(200),@s2
nvarchar(200)
set
@s0='默認風格'
set
@s='默認風格|#007168|23|紫色風格|#E8D6FE|21|藍色風格|#bad2fe|22'
declare
@r1
int,@r2
int
if
substring(@s,len(@s),1)<>'|'
set
@s=@s+'|'
set
@r1=charindex(@s0,@s)
--文字開始位置
select
@s1=substring(@s,@r1+len(@s0)+1,len(@s))
--文字+「|」以後的子串
set
@r2=@r1+charindex('|',@s1)+len(@s0)
--子串中第一個「|」相對於原串的起始位置
set
@s2=substring(@s1,charindex('|',@s1)+1,len(@s1))
--第一個「|」後的子串
set
@r2=@r2+charindex('|',@s2)
print
substring(@s,1,@r1-1)+substring(@s,@r2+1,len(@s))
你可以把@s0改成任意的什麼「風格」。
把這段代碼修改一下,可以作成一個函數,把@s0和@s作為參數,最後的print作為返回值。
㈢ 簡單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
㈣ sql 截取字元串
簡單的:
select substr(『04.06.02.063-48-Z952』,1,instr(『04.06.02.063-48-Z952』,'-',1,2)-1) from al ;
instr(04.06.02.063-48-Z952,'-',1,2)的意思是找到第二個出現的-號,然後減去1,把左邊都截取下來就ok了。
實際使用的時候,用欄位名替換那個字元串就ok了。
希望幫到你,請採納最佳。
㈤ sql中怎樣把字元串截取為欄位
sql語句可以截取指定欄位後面的字元串,以sqlserver為例,需要用到charindex函數和substring函數。
如test表中有如下數據,要求截圖str欄位中逗號後邊的內容。
可用如下語句:
1
select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;
結果截圖:
charindex函數說明:
語法:
CHARINDEX ( expression1 , expression2 , [ start_location ] )
參數:
expression1
一個表達式,其中包含要尋找的字元的次序。expression1 是一個短字元數據類型分類的表達式。
expression2
一個表達式,通常是一個用於搜索指定序列的列。expression2 屬於字元串數據類型分類。
start_location
在 expression2 中搜索 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜索。
substring函數說明:
語法:
substring( expression, start, length)
參數:expression 字元串、二進制字元串、文本、圖像、列或包含列的表達式start 整數或可以隱式轉換為 int 的表達式,指定子字元串的開始位置length 整數或可以隱式轉換為 int 的表達式,指定子字元串的長度
㈥ sql截取字元串語句
啥意思?截取最後一個下劃線後邊的所有內容唄?
啥資料庫啊?
㈦ SQL中求截取字元串語句
可以通過substring方法實現。
sql: select substring('123456789',5,2) from al;
解釋:第一個參數表示要截取的字元串,第二個參數是起始位置,第三個參數是,截取的長度。
執行結果:56。
㈧ sql資料庫截取字元串函數
Oracle中 其語法為:
substr函數的用法,取得字元串中指定起始位置和長度的字元串 ,默認是從起始位置到結束的子串。
substr( string, start_position, [ length ] ) substr('目標字元串',開始位置,長度)
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'select substr('Thisisatest', -4, 2) value from al
㈨ SQL截取欄位字元串
declare@svarchar(100),@sqlvarchar(1000)
set@s='中國-浙江省-寧波市-海曙區'
set@sql='selectcol='''+replace(@s,'-','''unionallselect''')+''''
PRINT@sql
exec(@sql)