oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏
常用函数:substr和instr
1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串
解释:string 元字符串
start_position 开始位置(从0开始)
length 可选项,子字符串的个数
For example:
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。
2.INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串
subString:要查找的子字符串
position:查找的开始位置
ocurrence:源字符串中第几次出现的子字符串
For example:
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置;返回结果为 14 '
select ename, case when sal<1000 then 'lower' when sal>1001 and sal<2000 then 'modest' when sal>2001 and sal<4000 then 'high' else 'too high' end from emp; select a.gno, a.lno from( select (case when length(lno) < 7 then '' when substr(lno, 0, 1) = '9' then substr(lno, 7, length(lno)) else substr(lno, 6, length(lno)) end) as gno, lno from t_table where id<100) a group by a.gno, a.lno order by a.gno;
相关推荐
Oracle数据库提供了多种截取字符串的方法,本文将介绍 substr 和 instr 两个常用函数,以及 case when then else end 语句的使用。 一、substr 函数 substr 函数用于截取字符串的一部分,语法为 `substr(string, ...
`SUBSTR`函数用于从指定位置开始截取字符串的一部分,其基本语法格式为: ```sql SUBSTR(source_string, start_position, length) ``` - **source_string**:源字符串。 - **start_position**:起始位置。 - **...
首先,SQL提供了`SUBSTRING`函数用于截取字符串。基本语法是`SUBSTRING(column_name, start, length)`,其中`column_name`是要截取的列名,`start`是从哪一位开始截取(位置从1开始计数),`length`是要截取的字符...
Oracle:使用SUBSTR()截取字符串,INSTR()查找子串位置,REPLACE()替换子串。 SQL Server:使用SUBSTRING()截取字符串,CHARINDEX()查找子串位置,REPLACE()替换子串。 3. 数学函数: Oracle:使用ROUND()四舍五入...
例如,`SYSDATE`函数返回当前系统的日期,而`SUBSTR(str, start, length)`则从字符串`str`的`start`位置开始截取`length`长度的子串。 接下来,我们深入到Oracle的存储过程。存储过程是一组PL/SQL语句,可以被保存...
字符类型 char 1~2000字节 固定长度字符串,长度不够的用空格补充 varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) ...
在Oracle数据库中,`SUBSTR`和`INSTR`函数是非常重要的字符串处理函数,它们在数据操作和查询中发挥着关键作用。本文将详细介绍这两个函数的用法,并结合`CASE WHEN`语句来解决特定的问题。 `SUBSTR`函数用于从一个...
- `LEFT()` 和 `RIGHT()` 函数用于截取字符串的左边或右边指定长度的部分。 - `SUBSTRING()` 用于从字符串的指定位置开始截取指定长度的部分。 - `REPLACE()` 用于替换字符串中的特定子串。 - `PATINDEX()` 搜索...
- `SUBSTRING()`在两个系统中都能截取字符串的一部分,但SQL Server的索引从1开始,Oracle从1或0开始(取决于是否包含结束字符)。 - `CONCAT()`在SQL Server 2012及以后版本中用于连接字符串,Oracle则可以使用`|...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其SQL语法丰富且强大,包含了许多独特的函数,使得数据查询、处理和分析更加高效。本资料“Oracle_SQL_function”主要聚焦于Oracle中的常用函数及其使用方法...
- `SUBSTR`: 截取字符串的一部分。 - `UPPER` 和 `LOWER`: 将字符串转换为大写或小写。 - `CONCAT`: 连接两个或多个字符串。 6. **转换函数**: - `TO_CHAR` 和 `TO_DATE`: 将日期转换为字符串或将字符串转换为...
- `SUBSTRING()`在SQL Server中截取字符串,Oracle对应的是`SUBSTR()`。 - `REPLACE()`在SQL Server中替换字符串中的子串,Oracle也有同名的`REPLACE()`函数。 2. **数值运算函数**: - 两个系统都提供`ROUND()`...
`LENGTH()`计算字符串长度,`SUBSTR()`截取子串,`UPPER()`和`LOWER()`转换大小写,`REPLACE()`替换子串,`TRIM()`去除空白字符,还有`CONCAT()`连接字符串。 3. **日期时间函数**:Oracle提供了丰富的日期时间处理...
3. **截取字符串**: Access 的 `Mid` 函数对应 SQL Server 的 `SubString`,Oracle 的 `SubStr` 和 DB2 的 `Substring`。可以使用 `GetSubStr` 实现通用性。 4. **大小写转换**: Access 中的 `LCase` 和 `UCase...
2. **字符串函数**:处理字符数据,如`CONCAT()`连接字符串,`SUBSTR()`截取子串,`UPPER()`和`LOWER()`转换大小写,`INSTR()`查找子串位置。 3. **日期时间函数**:与日期和时间相关的操作,例如`SYSDATE`获取当前...
CONCAT用于连接字符串,SUBSTR用于提取字符串的一部分,LENGTH计算字符串长度,INSTR查找子串位置,LPAD和RPAD分别用于左填充和右填充,TRIM用于去除两侧的空格,REPLACE用于替换字符串中的特定字符。 在数字函数中...
- **功能**:从指定位置开始截取字符串。 - **语法**:`SUBSTR(string, start_position[, length])` - **示例**:`SELECT SUBSTR('Hello World', 7, 5) FROM dual;` - **字符串大小写转换函数 UPPER 和 LOWER** ...
LENGTH 函数用于获取字符串的长度(以字节为单位)。 - **语法**: ```sql LENGTH(string_expr) ``` - **示例**: ```sql SELECT a.f_id, a.f_name FROM orgaizeation a INNER JOIN ( SELECT CASE WHEN ...
通过上述对比,我们可以看到Oracle与SQL Server在数学函数、字符串处理以及存储过程等方面都有着自己独特的实现方式和特点。理解这些差异对于跨平台迁移数据库应用或进行特定优化工作具有重要意义。
##### 1.1 截取子字符串 - **例子1**:提取包含字母和数字的字符串。 ```sql SELECT REGEXP_SUBSTR('1PSN/231_3253/ABc', '[[:alnum:]]+') FROM dual; ``` 输出结果为 `1PSN`。这里 `[[:alnum:]]+` 表示匹配...