为了账号安全,请及时绑定邮箱和手机立即绑定

select语句 instr函数与substr函数的综合问题?

select语句 instr函数与substr函数的综合问题?

精慕HU 2019-02-13 15:11:20
语句如下select filename || '|' || substr(filename, 0, instr(filename, '.', -1) - 1) || '.pdf' as filename,filepath || '|' || substr(filepath, 0, instr(filepath, '.', -1) - 1) || '.pdf' as filepath,lower(substr(filepath, instr(filepath, '.', -1) + 1)) || ',pdf' as filetypefrom ...问题:太综合了,虽然单个的函数instr与substr都知道as俺也是懂点,但我现在有点晕呀,哪位大侠帮忙解释一下呢?已经人工分成三行啦,具体帮忙解释下,若是有例子那就完美了 。谢谢你们了
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

你都懂,具体的意思我就不解释了
就举一个列子
filename || '|' || substr(filename, 0, instr(filename, '.', -1) - 1) || '.pdf' as filename,

这个吧
原始数据

name
a123452.2
Select Name || '|' || substr(Name, 0, instr(Name, '.', -1) - 1) || '.pdf' as filename From user1

结果

filename
a123452.2|a123452.pdf

其实不是很复杂 ||是连接的
a123452.2吧后面的结果用||连接起来了 ,后面的.pdf是字符串
lower函数是把大写转成小写

查看完整回答
反对 回复 2019-03-14
?
HUWWW

TA贡献1874条经验 获得超12个赞

既然函数的含义和用法你都清楚,我就说说这个语句的总体含义,分别给你解释一下:


filename:这个值是根据查出的filename 去掉"."以及后面的字符,假如表中filename = 记事本1.txt,那么最后filename的值为:记事本|记事本.pdf

filepath:和上一个一样,假如filepath = C:\program files\记事本1.txt,那么最后filepath的值为:C:\program files\记事本1.pdf

filetype:取的是文件扩展名,假如filepath = C:\program files\记事本1.txt,那么最后filetype的值为小写的txt,pdf

查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 863 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信