oracle 如何截取两个"-"之间的字符串
发布网友
发布时间:2022-04-23 15:42
我来回答
共2个回答
热心网友
时间:2022-04-08 11:04
可以使用substr函数及instr函数共同实现:
如,字符串为:123-asdf-119
现在要截取两个“-”中间的字符串,可用如下语句:
select substr('123-asdf-119',instr('123-asdf-119','-')+1,instr('123-asdf-119','-',instr('123-asdf-119','-')+1)-instr('123-asdf-119','-')-1) from al;
查询结果:
instr函数:
语法如下:
instr( string1, string2, start_position,nth_appearance )
substr函数:
substr(string,start,length)
string - 指定的要截取的字符串
start - 必需,规定在字符串的何处开始
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。
热心网友
时间:2022-04-08 12:22
SELECT REGEXP_SUBSTR('奥迪-A5-Coupe Qu-2.0T-7档自动-两门四驱-西拉红-深内饰', '[^-]+', 1, LEVEL, 'i') AS STR
FROM DUAL
CONNECT BY LEVEL <=
LENGTH('奥迪-A5-Coupe Qu-2.0T-7档自动-两门四驱-西拉红-深内饰') - LENGTH(REGEXP_REPLACE('奥迪-A5-Coupe Qu-2.0T-7档自动-两门四驱-西拉红-深内饰', '-', ''))+1;
oracle 截取字符串
1 从num1截取2个 可以同时使用三个数,从num1开始截取str字符,截取num2个字符。2 从str截取2个字符 使用三个参数时,第二个参数也能是负数,从str倒数num1的位置的开始截取num2个字符。3 参数较大num最多 从num截取str时,如果num2参数较大,返回的结果是str从num位置开始最多的字符。
oracle 如何截取两个"-"之间的字符串,如果是正则表达式该如何用啊?
substr(列名,位置1,位置2)意思是截取列名,从位置1开始,截取位置2 为 例如 select substr('410000',1,2) 就是从第一位开始,截取两位,返回的就是41 regexp_instr(列名,'-',1,1)是返回列名第一个'-'的位置,第一个1表示开始位置,可以缺省,默认为从头开始,第二个1表示第一次出现的意思...
oracle 如何截取两个"-"之间的字符串
可以使用substr函数及instr函数共同实现:如,字符串为:123-asdf-119 现在要截取两个“-”中间的字符串,可用如下语句:select substr('123-asdf-119',instr('123-asdf-119','-')+1,instr('123-asdf-119','-',instr('123-asdf-119','-')+1)-instr('123-asdf-119','-')-1) from du...
Oracle语句怎么截取{和:之间的值?
(1)定位,定位{和:的位置,从现在来看有两种可能,第一种 这是两个字段,分别是{12345:67:8}和{ABC:0:9},那就简单了{肯定是1,所以这个也就不需要定位了,只需要定位第一个冒号的位置。定位的函数应该是instr 第二种:{12345:67:8}{ABC:0:9}是一个字段的内容,那就麻烦一些,不过也能...
oracle怎么截取两个字符串之间的内容
oracle本身自带许多了函数,但是在实际的工作中,这些函数是远远不够用,因此自定义一些函数往往使代码的执行效率更高!需求:取出字符串'0001 1 dfds 13528221 dgdfkgdf'中第3个标识符(这个里面标识符是一个空格' ')和第4个标识符之间的字符串create or replace function strfind(cs in varcha...
Oracle中如何截取指定区间的字符串
select substr(字段名,起始位置,截取长度) from table
sql中截取字符串中间数据
是这个意思么?那么如果有这几个字,那就比较好办了,用oracle可以用instr,如果是其他数据库我就不知道了,不过也肯定有类似的函数,定位后就可以通过定位的结果就是数字然后就可以进行截取了。如果没有这几个字 比如:32232323XXXLsadasdasdDL121212,其中大写的XXXL和DL表示尺寸和材质(这里为了看的稍微...
oracle 截取字符串
例子:SELECT SUBSTR('6亿元,30亿元', 1, INSTR('6亿元,30亿元', '亿元') + 1) FROM DUAL 你需要用到的SQL:SELECT SUBSTR(FIELD1, 1, INSTR(FIELD1, '亿元') + 1) FROM TABLE1
oracle 怎么从后开始截取字符
1、在oracle中经常需要使用到截取字符串函数substr。语法:substr(str,num1,[num2]); 默认情况下都是只需要两个参数,它的意思是从第二个字符开始截取str字符串剩下所有的字符。2、substr函数中第二个参数也可以是负数,它的使用是从str倒数第num1个字符的位置开始截取。3、也可以同时使用三个数,...
ORACLE怎么从右截取字符串?
Oracle 截取字符串 SUBSTR:取子字符串,从“起始位置”开始,取“多少"个,当起始位置为负数的时候,从右边开始查找。SUBSTR(源字符串,起始位置,要取多少位)例:Select SUBSTR('ORC+001',1,3) From dual; 返回的是“ORC”Select SUBSTR('ORC+001',-5,3) From dual; 返回的是“ORC”INSTR:...