作者sammylee (Blue Sky..)
看板Database
标题[SQL ] 请教抓取栏位资料
时间Wed Sep 24 09:48:10 2014
资料库名称: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://webptt.com/cn.aspx?n=bbs/Database/M.1411523293.A.966.html
1F:→ moyasi: 一样用substr即可 先算出.在字串中的哪个位置 09/24 10:08
2F:→ moyasi: substr时再将该值+1就好 就可以抓到副档名 09/24 10:09
3F:→ moyasi: 如果档名中间也有.的话 方法也是一样 09/24 10:11
4F:→ 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
5F:→ moyasi: oracle的话用instr(字串,'.',-1) 就好了 09/24 11:00
6F:→ moyasi: 没用sql server所以不清楚指令是否能像oracle有-1 09/24 11:00
7F:→ moyasi: instr在pl/sql中抓取资料写动态条件还满常用到的 09/24 11:01
8F:→ moyasi: 很多情况不方便使用起讫区间 改用条件筛选的方式抓取资料 09/24 11:02