1樓:止秀梅慈溪
sql語句可以擷取指定欄位後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。
如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。
可用如下語句:
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的表示式,指定子字串的長度
2樓:池建設回錦
charindex
返回字串中指定表示式的起始位置。
語法charindex
(expression1
,expression2[,
start_location])
引數expression1
一個表示式,其中包含要尋找的字元的次序。expression1是一個短字元資料型別分類的表示式。
expression2
一個表示式,通常是一個用於搜尋指定序列的列。expression2屬於字串資料型別分類。
start_location
在expression2
中搜尋expression1
時的起始字元位置。如果沒有給定
start_location,而是一個負數或零,則將從expression2
的起始位置開始搜尋。
例如:select
charindex(
'you
','i
love
you')
你利用一下就能實現。至於多個可以迴圈擷取字串。
sql語句,能夠擷取指定欄位後面的一個字串嗎?
3樓:東方小廚師
sql語句可以擷取指定欄位後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。
如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。
可用如下語句:
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 的表示式,指定子字串的長度
4樓:匿名使用者
--這個查詢需要注意的是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'--這個是要查詢的字串
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)
endselect substring (ltrim ( string) ,1,charindex(' ',ltrim ( string))) as result from #a
--查詢結果
result
zxcv
yuchor
abcd
5樓:匿名使用者
能實現的,這個又不難,你用什麼資料庫的,每個資料庫的sql語法是不一樣的,函式也是不一樣的
6樓:匿名使用者
如果 是 「asdf qwer qwer qwer qwer zxcv 1234 的模式的話:
select trim(substring_index(substring_index(「asdf qwer zxcv 1234","qwer",-1)," ",2))
7樓:匿名使用者
charindex
返回字串中指定表示式的起始位置。
語法 charindex ( expression1 , expression2 [ , start_location ] )
引數 expression1
一個表示式,其中包含要尋找的字元的次序。expression1 是一個短字元資料型別分類的表示式。
expression2
一個表示式,通常是一個用於搜尋指定序列的列。expression2 屬於字串資料型別分類。
start_location
在 expression2 中搜尋 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜尋。
例如:select charindex( 'you ', 'i love you ')
你利用一下就能實現。至於多個可以迴圈擷取字串。
sql語句,如何擷取指定欄位某一個字元出現後的後面的字串嗎
8樓:教育仁昌
工具/材料:management studio。
1、首先在桌面上,點選「management studio」圖示。
2、之後在該介面中,點選左上角「新建查詢」選項。
3、接著在該介面中,輸入擷取指定欄位某一個字元出現後的後面的字串的sql語句「
select substring(name,charindex(',',name)+1,len(name)-charindex(',',name)) from test2;」。
4、然後在該介面中,點選左上方「執行」按鈕。
5、最後在該介面中,顯示擷取指定欄位某一個字元出現後的後面的字串成功。
9樓:司馬刀劍
sql語句可以擷取指定欄位後面的字串,以sqlserver為例,需要用到charindex函式和substring函式。
如test表中有如下資料,要求截圖str欄位中逗號後邊的內容。
可用如下語句:
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語句,可以擷取指定欄位後面的一個字串嗎?
10樓:匿名使用者
--這個查詢需要注意的是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'--這個是要查詢的字串
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)
endselect substring (ltrim ( string) ,1,charindex(' ',ltrim ( string))) as result from #a
--查詢結果
result
zxcv
yuchor
abcd
sql語句刪除某欄位中資料sql語句刪除某欄位中一個資料
update 表名 set 欄位名 null where 欄位名 值 and 欄位2 值2 值就是你要刪除的資料 欄位2和值2值是用來定位值在表中的具體位置 只有前面的值很容易刪除同欄位等值的數 加上欄位2值2就可以精準定位 值2最好是唯一約束下面這是我寫的 update student set 年...
SQL欄位多個數值怎麼用update語句在每個數值上都加
1 定義表,把這個欄位裡面的值全放在這個表裡面 table2 定義一個變數a,a 該欄位值的個數 3 用for迴圈,定義變數i 0,i就 你這隻能用 段 或者儲存過程 來實現了 迴圈各行 拆分每行的值 分號分隔 將各個值轉成數字 1 再拼成字元,寫回本行 update tablename set c...
sql語句如何活的表中某一欄位的型別 ?
select from user tab cols t where branch 多用用資料字典表就可以。我一般都是直接到資料庫裡面去看的。請教sql語句如何取得一個表中的列名,資料型別,及長度?1,可以通過,syscolumns檢視檢視關於欄位的所有資訊,如select name,type nam...