看板 Database 關於我們 聯絡資訊
資料庫名稱:SQL 2008 內容/問題描述: 各位好,我想請教sql抓字串的問題 目前有以下的table (名稱:attach) no attachname 1 abc.doc 2 test.pdf 3 ptt.xlsx 4 ntu.docx 5 nccu.pdf 6 AAAA.doc 7 BBB.docx 如果我想要抓取,在這個table裡面有哪幾種副檔名 該怎麼下然令去抓字串呢? 因為我試用 substr 的方式,發現無法達成(因為檔名長度不同) 能否請教該怎麼抓出來有哪些副檔名被使用在attachnam欄位中呢 感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.97.24 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1411523293.A.966.html
moyasi: 一樣用substr即可 先算出.在字串中的哪個位置 09/24 10:08
moyasi: substr時再將該值+1就好 就可以抓到副檔名 09/24 10:09
moyasi: 如果檔名中間也有.的話 方法也是一樣 09/24 10:11
moyasi: 找出.在字串中最後出現的位置就好 09/24 10:12
感謝:) 我剛試了一個指令 select substring(attachnam,charindex('.',attachnam),len(attachnam)),attachnam from attach 出來的結果再進行比對一下即可了 :) ※ 編輯: sammylee (61.219.97.24), 09/24/2014 10:29:16
moyasi: oracle的話用instr(字串,'.',-1) 就好了 09/24 11:00
moyasi: 沒用sql server所以不清楚指令是否能像oracle有-1 09/24 11:00
moyasi: instr在pl/sql中抓取資料寫動態條件還滿常用到的 09/24 11:01
moyasi: 很多情況不方便使用起訖區間 改用條件篩選的方式抓取資料 09/24 11:02