Oracle与DB2中的substr()都是是截取给定字符串的字符,但是两者是有差异的。
Oracle:引用自 Oracle.SQL.Reference.10g.r2
The SUBSTR functions return a portion of char, beginning at character position,
substring_length characters long.
DB2:引用自 DB2_UDB_V8_SQL_REFERENCE
The SUBSTR function returns a substring of a string.
对于其他的我不做过多的说明,我在这里只是想说明他们在对于第二、三个参数上的差异做一些解析。
position,代表的是我们要截取的字符串char的起始位置。substring_length是指我们要截取的长度,这里两个数据库的处理方式就有分歧了。
在Oracle中,我们的substring_length长度是可以大于等于char字符串的长度的,但是函数本身的处理是依据你的起始位置position到char字符串结尾位置的长度来处理,并不会跟你所给定的substring_length来确定,相当于是Oracle为我们做了正确性的辨别并处理掉多余的长度。
在DB2中,如果substring_length的长度大于了起始位置到结束位置之间的长度,那么数据库只为我们报错,并不会像Oracle那样执行出我们想得到的结果。
《并且Oralce与DB2里的position取值也存在差异,在Oralce中,position是可以取值为0的,但是在DB2中,取值为0的话会报错。》position都是从1开始算。substr()是指从position开始算(包括position这个字符),截取的长度,也包括位置+长度所在的字符(前提是字符串的长度大于或等于两者之和)。
所以,我们在使用substr()函数的时候,要多加留意,特别是在不同数据库上使用时,一定要做各自的深入分析,不然我们的取值可能就会报错,或者报一些SQL错误。
分享到:
相关推荐
### Oracle中的SUBSTR函数详解 在Oracle数据库中,`SUBSTR`函数是一个非常重要的字符串处理函数,用于从指定的字符串中提取子串。该函数在实际应用中极为广泛,能够帮助用户灵活地处理数据,满足各种业务需求。下面...
REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(string, pattern, position, occurrence, modifier) string :需要进行正则处理的字符串 pattern :进行匹配的正则表达式 position :起始位置,从第几个...
对于处理时间日期的需求,DB2与Oracle提供了丰富的内置函数,这些函数在日常开发中极为常用。 1. **获取当前时间** - **Oracle**: ```sql SELECT SYSDATE FROM DUAL; ``` - **DB2**: ```sql SELECT CURRENT_...
以上只是一部分Oracle内置函数的示例,实际上还有许多其他函数,如TO_CHAR、TO_DATE、TO_NUMBER、NVL、DECODE等,它们分别用于日期格式化、类型转换、空值处理和条件判断等操作。掌握这些函数能帮助我们更有效地在...
在Oracle数据库中,`SUBSTR`和`INSTR`函数是非常重要的字符串处理函数,它们在数据操作和查询中发挥着关键作用。本文将详细介绍这两个函数的用法,并结合`CASE WHEN`语句来解决特定的问题。 `SUBSTR`函数用于从一个...
以上只是Oracle内置函数的一部分,实际中还有诸如TRIM、TO_CHAR、TO_DATE、MOD、ROUND、DECODE等大量其他函数,它们在处理数据时都发挥着重要作用,极大地提高了SQL查询和数据处理的效率和灵活性。开发人员在使用...
取子串在SQL Server中使用`SUBSTRING()`, 在Oracle和DB2中使用`SUBSTR()`。 ### 8. 其他DB2 V8.1常用命令 - 创建数据库: 使用`db2 CREATE DATABASE database_name` - 删除数据库: 使用`db2 DROP DATABASE database...
它们都提供了丰富的内置函数,以支持复杂的查询、数据处理和分析任务。本合集涵盖了DB2与Oracle的函数大全,旨在帮助数据库管理员和开发人员更好地理解和运用这些功能。 DB2函数: 1. **转换函数**:如`CHAR()`, `...
DB2 函数大全是 DB2 数据库管理系统中提供的一组函数,用于进行数据处理和分析。本文将对 DB2 函数大全进行总结,包括 AVG、CORR、COUNT、COVAR、MAX、MIN、STDDEV、SUM、VAR 等函数,并提供相应的函数解释和举例。 ...
Oracle数据库系统是世界上最广泛使用的...在"oracle内置函数大全.sql"文件中,可能包含了所有这些函数的示例和用法,供用户参考和实践。通过深入研究这个文件,可以深入了解Oracle SQL的功能,并提升数据库管理技能。
在数据库管理与查询过程中,DB2作为一款功能强大的关系型数据库管理系统,提供了丰富的内置函数来帮助用户高效地处理数据。这些函数涵盖了数学运算、字符串操作、日期时间处理等多个方面,为用户提供了极大的便利。 ...
通过以上详细解析,我们可以看出 DB2 提供了大量的内置函数来帮助用户进行数据分析、数据处理以及数据格式化等操作。这些函数不仅能够提高 SQL 查询的效率,还能使查询变得更加灵活和强大。对于从事数据库管理和开发...
Oracle数据库系统中,`DBMS_LOB`是一个重要的PL/SQL包,专门用于处理大型对象(LOBs,Large Object)。LOBs是Oracle提供的一种数据类型,用于存储大量数据,如文本、图像、音频或视频文件等。这个包包含了各种过程和...
Oracle 中实现 Split 函数功能 Oracle 中实现 Split 函数功能是指在 Oracle 数据库中实现类似于 C# 等编程语言中的 Split 函数,用于拆分字符的功能。下面是实现 Oracle 中 Split 函数功能的详细介绍。 首先,...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的内置函数,以支持复杂的查询和数据操作。这份"oracle函数大全(分类显示).zip"压缩包显然是一份详细的Oracle函数参考手册,对于初学者而言,是一个...
Oracle instr 函数与 substr 函数详细说明 oracle 中的 instr 函数和 substr 函数是两种常用的字符串处理函数,它们可以用来处理和操作字符串数据。 Instr 函数 Instr 函数的主要作用是返回要截取的字符串在源...
以上是对Oracle系统内置函数大全的知识点介绍,内容涵盖了字符处理、数字计算、日期处理、数据类型转换、分组聚合等多个方面的函数。Oracle数据库管理员和开发人员经常需要用到这些函数以实现各种数据处理需求。
在Oracle数据库中,提供了丰富的内置函数来处理各种数据类型的操作需求。这些函数能够极大地简化开发人员的工作,并提高SQL查询的效率。本文将详细介绍几个常用Oracle函数及其在实际项目中的应用案例。 #### 二、...
在Oracle中,内置函数大致可以分为数学函数、字符串函数、日期时间函数、转换函数、系统信息函数和条件判断函数等几大类。 1. **数学函数**: - ABS:返回一个数的绝对值。 - CEIL:向上取整,返回大于或等于指定...