[SQL ] 請教抓取欄位資料(抓副檔名)

看板Database作者 (Blue Sky..)時間11年前 (2014/09/24 09:48), 11年前編輯推噓0(008)
留言8則, 1人參與, 最新討論串1/1
資料庫名稱: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

09/24 10:08, , 1F
一樣用substr即可 先算出.在字串中的哪個位置
09/24 10:08, 1F

09/24 10:09, , 2F
substr時再將該值+1就好 就可以抓到副檔名
09/24 10:09, 2F

09/24 10:11, , 3F
如果檔名中間也有.的話 方法也是一樣
09/24 10:11, 3F

09/24 10:12, , 4F
找出.在字串中最後出現的位置就好
09/24 10:12, 4F
感謝:) 我剛試了一個指令 select substring(attachnam,charindex('.',attachnam),len(attachnam)),attachnam from attach 出來的結果再進行比對一下即可了 :) ※ 編輯: sammylee (61.219.97.24), 09/24/2014 10:29:16

09/24 11:00, , 5F
oracle的話用instr(字串,'.',-1) 就好了
09/24 11:00, 5F

09/24 11:00, , 6F
沒用sql server所以不清楚指令是否能像oracle有-1
09/24 11:00, 6F

09/24 11:01, , 7F
instr在pl/sql中抓取資料寫動態條件還滿常用到的
09/24 11:01, 7F

09/24 11:02, , 8F
很多情況不方便使用起訖區間 改用條件篩選的方式抓取資料
09/24 11:02, 8F
文章代碼(AID): #1K8YBTbc (Database)