赞
踩
1. SUBSTR函数截取
函数 | 参数 |
---|---|
SUBSTR(string,start,[length]) | string:要截取的字符串 start:开始截取的位置,从1开始,包含该位置的字符。如果是负数,则从字符串末尾开始算起 length:可选参数,要截取的长度 |
-- 从第1位开始截取后面所有字符串,返回'Hello World!'
SELECT SUBSTR('Hello World!', 1) FROM dual;
-- 从第2位开始截取后面所有字符串,返回'ello World!'
SELECT SUBSTR('Hello World!', 2) FROM dual;
-- 从倒数第3位开始截取后面所有字符串,返回'ld!'
SELECT SUBSTR('Hello World!', -3) FROM dual;
-- 从第4位开始截取6个长度,返回'lo Wor'
SELECT SUBSTR('Hello World!', 4,6) FROM dual;
-- 从倒数第4位开始截取3个长度,返回'rld'
SELECT SUBSTR('Hello World!', -4,3) FROM dual;
2. INSTR函数返回子字符串在源字符串中的位置
函数 | 参数 |
---|---|
INSTR(string,child_string,[start],[show_time]) | string:源字符串 child_string:子字符串 start:可选项,开始位置,默认从1开始。如果为负数,则从右向左检索 show_time:可选项,表示子字符串第几次出现在源字符串当中,默认第1次,负数则报错 |
--从第1位开始查找子字符串'!'第1次出现的位置,返回6 SELECT INSTR('Hello! World!', '!') FROM dual; --从第6位开始查找子字符串'!'第1次出现的位置,返回6 SELECT INSTR('Hello! World!', '!', 6) FROM dual; --从第6位开始查找子字符串'!'第1次出现的位置,返回6 SELECT INSTR('Hello! World!', '!', 6, 1) FROM dual; --从第3位开始查找子字符串'!'第2次出现的位置,返回13 SELECT INSTR('Hello! World!', '!', 3, 2) FROM dual; --从右数第1位开始查找子字符串'!'第1次出现的位置,返回13 SELECT INSTR('Hello! World!', '!', -1, 1) FROM dual; --从右数第6位开始查找子字符串'!'第2次出现的位置,返回6 SELECT INSTR('Hello! World!', '!', -1, 2) FROM dual;
3. SUBSTR和INSTR函数结合
-- 返回'1415926'
SELECT SUBSTR('3.1415926', instr('3.1415926', '.')+ 1) FROM dual;
1. 使用"||"拼接
使用"||"拼接,可拼接多个字符串
-- 返回'Hello World!'
SELECT 'Hello' || ' ' || 'World!' FROM dual;
2. 使用CONCAT函数拼接
函数 | 参数 |
---|---|
CONCAT(a,b) | a、b为两个要拼接的字符串 |
CONCAT函数只支持两个参数,即只能拼接两个字符串,如要拼接多个字符串需嵌套使用CONCAT
-- 返回'Hello!'
SELECT CONCAT('Hello','!') FROM dual;
-- 返回'Hello! World!'
SELECT CONCAT(CONCAT('Hello','!'),' World!') FROM dual;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。