iT邦幫忙

0

MS SQL 檢索字串

請問 MSSQL 要怎麼實現像 INSTR 一樣可以檢索關建字,從 第N個關建字 計算呢?

EX2:INSTR('ADNADADXDAEDGEADDRGSAXDFEWSADDERGSAXD','A',1,5) =15

謝謝!!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
做工仔人!
iT邦大師 1 級 ‧ 2018-01-25 11:10:55

SUBSTRING('ABCABCABCABC',1,3) = 'ABC'

SUBSTRING(字串,起始取字元位置,取字元數)
1:從第一個字元取起
3:取3個字元
所以結困為'ABC'

pp73793 iT邦新手 4 級 ‧ 2018-01-25 11:24:39 檢舉

可能是我ex不好

EX2:INSTR('ADNADADXDAEDGEADDRGSAXDFEWSADDERGSAXD','A',1,5) =15

0
棉花
iT邦新手 4 級 ‧ 2018-01-25 11:53:05

目前找到最接近的是"CHARINDEX",但沒辦法指定第n個符合的字串位置

select CHARINDEX('A', 'BANANA', 1)
--輸出: 2

微軟的文件:https://docs.microsoft.com/zh-tw/sql/t-sql/functions/charindex-transact-sql

另外建議原PO舉例時盡量不要用亂碼或是長度太長的字串,在閱讀上會比較好理解

例如:

select INSTR('BANANA', 'A', 1, 2) from dual
--輸出: 4
0
純真的人
iT邦大師 1 級 ‧ 2018-01-25 11:55:41

select Charindex('A','ADNADADXDAEDGEADDRGSAXDFEWSADDERGSAXD',5)

我要發表回答

立即登入回答