`

oracle截取字符长度.

阅读更多
FUNCTION SBUSTR(STR_INPUT IN VARCHAR2, LENGTH_INPUT IN NUMBER)
    RETURN NUMBER IS
    I          NUMBER;
    SUB_STR    VARCHAR2(2000);
    SUB_LENGTH NUMBER := 0;
    STR_COUNT  NUMBER := 0;
    TEMP       NUMBER := 0;
    RETURN_STR VARCHAR(2000) := '';
  BEGIN
    SELECT LENGTH(STR_INPUT) INTO SUB_LENGTH FROM DUAL;
    FOR I IN 1 .. SUB_LENGTH LOOP
      SELECT SUBSTR(STR_INPUT, I, 1) INTO SUB_STR FROM DUAL;
      SELECT LENGTHB(SUB_STR) INTO SUB_LENGTH FROM DUAL;
      IF (SUB_LENGTH = 1) THEN
        TEMP := 1;
      ELSE
        TEMP := 2;
      END IF;
      IF (STR_COUNT + TEMP <= LENGTH_INPUT) THEN
        IF (SUB_LENGTH = 1) THEN
          STR_COUNT := STR_COUNT + 1;
        ELSE
          STR_COUNT := STR_COUNT + 2;
        END IF;
        RETURN_STR := RETURN_STR || SUB_STR;
      ELSE
        EXIT;
      END IF;
    END LOOP;
    RETURN RETURN_STR;
  END SBUSTR;
分享到:
评论

相关推荐

    oracle中字符串截取

    `SUBSTR`函数用于从指定位置开始截取字符串的一部分,其基本语法格式为: ```sql SUBSTR(source_string, start_position, length) ``` - **source_string**:源字符串。 - **start_position**:起始位置。 - **...

    oracle数据库截取字符串

    Oracle数据库截取字符串 Oracle数据库提供了多种截取字符串的方法,本文将介绍 substr 和 instr 两个常用函数,以及 case when then else end 语句的使用。 一、substr 函数 substr 函数用于截取字符串的一部分...

    Oracle截取字符串去掉字段末尾指定长度的字符

    2. `LENGTH(string)` 函数则计算字符串`string`的字符长度,以字符为单位。这个函数不考虑字符编码,而是简单地计算字符串中的字符数。在单字节字符集中(如ASCII),字符长度和字节长度相同;但在多字节字符集中,...

    Oracle接收长度大于4000的字符串

    ### Oracle接收长度大于4000的字符串 在Oracle数据库中,默认情况下,`VARCHAR2`类型字段的最大长度为4000个字符。当需要处理更长的字符串时(例如,超过4000个字符),可以采用多种方法来解决这一问题。本文将详细...

    一个oracle根据特定字符截取数据

    在Oracle数据库中,经常需要对存储的数据进行处理,比如根据特定字符进行截取。这篇博客“一个oracle根据特定字符截取数据”分享了一个实用的方法,适用于那些需要从字符串字段中提取部分信息的情况。通过SQL查询,...

    oracle字符串操作.pdf

    它接受三个参数:原始字符串、起始位置和截取长度。需要注意的是,Oracle的索引是从1开始的。例如,`SELECT SUBSTR('thinking in java',1,5) FROM dual`会返回"think"。 INSTR函数查找子字符串在另一个字符串中的...

    oracle字符串操作.docx

    - **SUBSTR**: 截取字符串的一部分,从指定位置开始,截取指定数量的字符。例如,`SELECT SUBSTR('thinking in java', 1, 5) FROM dual`。 - **INSTR**: 查找子字符串在主字符串中的位置。例如,`SELECT INSTR('...

    Oracle中字符串截取常用方法总结【推荐】

    本文将详细介绍两种在Oracle中常用的字符串截取方法:`substr`函数和`instr`函数。 首先,我们来看`substr`函数。`substr`函数用于从给定的字符串中截取一部分。其基本语法如下: ```sql SUBSTR(string, start, ...

    Oracle拆分字符串,字符串分割的函数

    结合`instr()`,可以逐个截取字符串的不同部分。 3. **REGEXP_SUBSTR() 函数** 对于更复杂的字符串分割需求,`regexp_substr()` 函数基于正则表达式规则进行分割。它返回匹配正则表达式的子串。例如,`regexp_...

    用SQL语句截取字符串

    当长度为负数时,表示从指定的起始位置开始向左截取字符。在这个例子中,从第5个字符开始向左截取2个字符,但由于只有一位有效字符,所以返回结果为`'E'`。 #### 注意事项 - 在不同的SQL方言中(如MySQL、Oracle、...

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 提供了 SUBSTR() 函数,用于截取字符串的一部分。 示例:SELECT SUBSTR('abcd', 2, 2) FROM dual; -- 返回 bc 3. 字符串连接函数 Oracle Sql 提供了串联符(||)来连接两个字符串。 示例:SELECT 'ab...

    oracle内部讲义36.ppt

    例如,字符函数包括`LOWER`、`UPPER`、`INITCAP`、`CONCAT`、`SUBSTR`、`LENGTH`、`INSTR`、`LPAD`、`RPAD`和`TRIM`,用于对字符串进行大小写转换、连接、截取、查找和填充等操作。 1. `LOWER`和`UPPER`函数用于将...

    在SQL查询中如何截取字符串后转成数值型?

    ### 截取字符串 首先,我们需要从原始字符串中截取出感兴趣的数字部分。在SQL中,不同的数据库系统提供了不同的函数来实现这一功能。例如,在Microsoft SQL Server中,可以使用`SUBSTRING`函数;而在MySQL中,则应...

    如何实现Oracle中字符串分隔.pdf

    3. 如果`nEnd`不为0,使用`SUBSTR(v_str, nFrom, nEnd - nFrom)`截取子字符串,并添加到结果集合中。 4. 更新`nFrom`为`nEnd + 1`,继续查找下一个子字符串,直到`nEnd`为0,表示没有更多的子字符串。 在上述基础之...

    Oracle函数与表达式.pptx

    - `substr()` 函数:根据指定的起始位置和长度截取字符串,非常灵活,是处理字符串时常用的工具。 2. 数学函数:Oracle提供了多种数学运算函数,如`abs()`(绝对值)、`mod()`(求余数)、`round()`(四舍五入)等...

    ORACLE字符串函数

    该函数用于根据 POSIX 正则表达式截取字符串中的子串。例如,`substring('Thomas' from '...$')`将返回`'mas'`。 11. 字符串 SQL 正则表达式匹配函数:`substring(string from pattern for escape)` 该函数用于...

    BLOG_Oracle_lhr_函数系列(1)--字符函数.pdf

    Oracle字符函数是数据库操作中非常基础且重要的工具,它们用于处理和操纵文本数据。这篇博客主要介绍了12个常用的字符函数,以及如何结合使用这些函数来解决实际问题。以下是这些函数的详细介绍: 1. **lower()**: ...

Global site tag (gtag.js) - Google Analytics