Oracle:concat()、substr()、instr() 简介
一:concat() —— 字符串拼接
格式:concat(字串1, 字串2, 字串3, ...)
1、Mysql中使用 (可以正常使用concat函数来进行多个字段的拼接)
1 2 | SELECT CONCAT(字段 1 ,字段 2 ,字段 3 ) FROM table WHERE 1 = 1 ; 结果: "字段1字段2字段3" |
2、Oracle中使用(不可以使用concat函数来拼接多个字段,只能拼接两个字段,需要使用 "||" 或者 "+" 来连接)
1 2 3 4 5 6 7 8 9 10 11 | SELECT CONCAT(字段 1 , 段 2 ) FROM table WHERE 1 = 1 ; 结果一: "字段1字段2" SELECT 字段 1 || 字段 2 || 字段 3 FROM table WHERE 1 = 1 ; 结果二: "字段1字段2字段3" SELECT 字段 1 + 字段 2 + 字段 3 FROM table WHERE 1 = 1 ; 结果三: "字段1字段2字段3" |
二:substr() —— 字符串截取
格式1: substr(string string, int a, int b);
格式2:substr(string string, int a);
1、string需要截取的字符串
2、a起始位置(一般从1开始比较方便记忆,但是0和1都是认为从第一个字符开始截取的)
3、b截取长度(若不写b则代表从a开始后边所有的字符串)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | select substr( 'HelloWorld' , 2 ) value from dual; --返回结果:elloWorld,截取从“e”开始之后所有字符 select substr( 'HelloWorld' ,- 2 ) value from dual; --返回结果:ld,从最后一个“d”开始 往回截取 2 个字符 select substr( 'HelloWorld' , 2 , 3 ) value from dual; --返回结果:ell,截取从“e”开始 3 个字符 select substr( 'Hello World' , 5 , 3 ) value from dual; --返回结果:o W (中间的空格也算一个字符串,结果是:o空格W) select substr( 'HelloWorld' ,- 2 , 3 ) value from dual; --返回结果:ld (从后面倒数第二位开始往后取 2 个字符,而不是 3 个。原因:下面红色 第三个注解) |
三:instr() —— 字符串查找
格式一:instr( string1, string2 )
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] )
1、instr(源字符串, 目标字符串, 起始位置i, 检索次数) 起始位置是从1算起的。
2、string2 的值要在string1中查找,是从起始位置第 i 处开始检索,返回检索到string2出现的n次的位置
3、如果查找失败则返回0.
1 2 3 4 5 6 7 8 | select instr( 'helloworld' , 'l' ) from dual; --返回结果: 3 默认第一次出现“l”的位置 select instr( 'helloworld' , 'l' , 3 , 2 ) from dual; --返回结果: 4 也就是说:在 "helloworld" 的第 3 (l)号位置开始,查找第二次出现的“l”的位置 select instr( 'helloworld' , 'l' ,- 2 , 3 ) from dual; --返回结果: 3 也就是说:在 "helloworld" 的倒数第 2 (l)号位置开始,往回查找第三次出现的“l”的位置 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构