SQL特定字串分割,sql語句, 字串分割做為查詢條件

stringparamer="111111,222222,123123,2342343";stringa=paramer.split(',');console.write(a[0]+""+a[1]+""+a[2]);split(",");j**

  string paramer=”111111,222222,123123,2342343″;

  string a = paramer.split(‘,’);

  console.write(a[0]+”

  ”+a[1]+”

  ”+a[2]);

  split(“, “);

  j**a分割字串
10

  sql語句, 字串分割做為查詢條件

  sql語句如下:

  select *

  from a

  where charindex(id,?’2,3,4′)?>?0上述sql語句在sql server中進行了測試。

  function sss.charindex does not exist

  sql語句,能夠擷取指定欄位後面的一個字串嗎?

  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 的表示式,指定子字串的長度

  –這個查詢需要注意的是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語法是不一樣的,函式也是不一樣的

  如果 是 “asdf qwer qwer qwer qwer zxcv 1234 的模式的話:

  select trim(substring_index(substring_index(“asdf qwer zxcv 1234″,”qwer”,-1),” “,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 語句擷取兩個固定字元之間的字串?

  select substring(字串,1,patindex(,’丘’)-1) as 字元1 ,substring(字串,patindex(,’丘’)+1,patindex(,’棟’)-patindex(,’丘’)+1) as 字元2 from 表名

  select substring(‘1丘2棟’,0,charindex(‘丘’, ‘1丘2棟’)),substring(‘1丘2棟’,charindex(‘丘’, ‘1丘2棟’) + 1,len(‘1丘2棟’)-2)

  sql拆分逗號分隔的字串

  1、首先點選新建查詢按鈕,新建一個查詢。

  2、然後準備一個要分割的字串,如下圖所示。

  3、接著用parsename進行分割,第二個引數是取分割後的第幾個,如下圖所示,第一個是最後一個位置。

  4、然後最後一個才是第一個的位置。

  5、接下來就可以通過位置把他們都取出來了。

  6、最後就得到了字串各個分割後的子字串了。

  1、先執行這一句:這裡匯入測試表:也就是你給的檔案了;

  create?table?tb_1?(id?int?,value?varchar(10),class?varchar(10))

  goinsert?into?tb_1?values?(1,’3,2,4,5,’,’no’)

  goinsert?into?tb_1?values?(2,’5,1,1+2,’,’yes’)

  goselect?*?from?tb_1

  2、?在執行查尋,會輸出你要的結果;

  with?tb_2?as?(

  select?id,value?,class,charindex(‘,’,value)?sta,charindex(‘,’,value)-1?lens?from?tb_1

  union?all

  select?id,value?,class,charindex(‘,’,value,sta+1)?sta,charindex(‘,’,value,sta+1)-sta-1?lens?from?tb_2?where?sta0)

  –select?*?from?tb_2

  select?id,substring(value,sta-lens,lens),class?from?tb_2

  where?sta0

  結果:1 3 no

  2 5 yes

  2 1 yes

  2 1+2 yes

  1 2 no

  1 4 no

  1 5 no

  如果你能確定逗號的位置 或就只有這兩行資料 那麼就很簡單如果不是 正常情況下 也是第二種 我給你一個處理問題的思路首先寫一個拆分函式

  然後利用遊標的知識 把結果輸出來

  估計對你來說有點困難

  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′–這個是要查詢的字串

  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

  instr(‘corporate floor’,’or’, 3, 2)中,源字串為’corporate floor’, 在字串中查詢’or’,從第三個字元位置開始查詢”or”,取第三個字後第2個匹配項的位置。找到位置,然後使用strsub 函式混合使用。