`

Oracle substr 截取nvarchar2 问题

阅读更多

 

 

-- 查询业务类型 
-- 数据内容为:2,3,4  
-- 需求截取第一个字符

select ris.info_sys_guid,
         substr(ris.business_type ,1,1) business_type
    from rec_info_sys ris

结果business_type 显示为空。

后查看数据类型为nvarchar2  对varchar2类型做测试正常

故对nvarchar2 进行转换成varchar2

select ris.info_sys_guid,
       substr(utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(Translate(ris.business_type USING CHAR_CS))),1,1) business_type
  from rec_info_sys ris ;


Translate(ris.business_type USING CHAR_CS) 用于汉字和特殊字符的转换

utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(ris.business_type )) 转换成varchar2,只能转换纯英文字符

最后截取就从1开始 截取一位  正常

分享到:
评论

相关推荐

    Oracle截取JSON字符串内容的方法

    在Oracle数据库中,处理JSON数据已经成为日常操作的一部分,特别是在存储和检索结构化和半结构化数据时。本文将深入探讨如何使用自定义函数来截取JSON字符串中的特定内容,这在处理复杂的JSON数据时非常有用。 ...

    批量导出ORACLE数据库BLOB字段生成图片

    可以使用DBMS_LOB子程序处理BLOB数据,例如DBMS_LOB.GETLENGTH获取BLOB的长度,DBMS_LOB.SUBSTR截取部分BLOB数据。 6. **导出图片**:将查询结果中的BLOB数据转换为图片格式,这通常涉及到将BLOB数据写入到本地文件...

    oracle汉字转拼音函数整理大全

    v_substr VARCHAR2(4); FUNCTION fn_nlssort(p_word IN VARCHAR2) RETURN VARCHAR2 AS BEGIN RETURN SUBSTR(NLSSORT(p_word, 'nls_sort=schinese_pinyin_m'), 1, 4); END fn_nlssort; BEGIN IF p_str IS NULL THEN...

    oracle和sql的语法区别大

    - Oracle 和 SQL Server 均提供了SUBSTR/SUBSTRING函数用于截取字符串。 - **REPLACE/STUFF** - Oracle 使用REPLACE函数替换字符串中的部分字符,SQL Server 使用STUFF函数实现相同功能。 - **INITCAP** - ...

    oracle语法.rar

    - 字符串函数:UPPER、LOWER转换大小写,INSTR查找子串位置,SUBSTR截取字符串; - 日期函数:SYSDATE获取当前系统日期,ADD_MONTHS对日期进行加减操作。 3. **PL/SQL编程**:PL/SQL是Oracle的编程语言,结合了...

    oracle数据工程师面试题.pdf

    * SUBSTR函数:用于截取字符串的指定部分。 * LENGTH函数:用于获取字符串的长度。 3. 存储过程和函数 * 创建存储函数:CREATE OR REPLACE FUNCTION语句用于创建一个新的存储函数。 * 函数参数:在函数中可以定义...

    灵活截取字符串

    对于截取字符串,Oracle中有两个函数substr(),instr()截取规则的字符串使用起来较为方便,这里重新封装了一个函数 --调用函数参数说明: --num_char(str1 varchar2,str2 varchar2,indexs number) --str1 原字符串 --...

    oracle中length、lengthb、substr、substrb函数用法介绍

    总之,掌握`length`、`lengthb`、`substr`和`substrb`函数的用法能帮助我们更精确地操作和处理Oracle数据库中的字符串数据,避免因编码差异导致的问题。在数据库设计和编程过程中,了解字符集和字符串处理函数的细节...

    mysql转换到oracle数据库

    - **原因**:由于MySQL与Oracle数据库之间的语法差异较大,一次性导出后直接进行转换可能会导致较多问题。因此,通常会采取先分别导出表结构与数据的方式,再进行转换。 - **操作步骤**:首先仅导出表结构,对其...

    oracle入门很简单06.zip

    2. SUBSTR():用于提取字符串的一部分,可以根据提供的起始位置和长度来截取字符串。 3. LENGTH():返回字符串的长度(字符数)。 4. LTRIM()和RTRIM():分别用于去除字符串开头和结尾的空格。 5. REPLACE():在字符...

    oracle函数大全及存储过程语法 chm

    例如,`SYSDATE`函数返回当前系统的日期,而`SUBSTR(str, start, length)`则从字符串`str`的`start`位置开始截取`length`长度的子串。 接下来,我们深入到Oracle的存储过程。存储过程是一组PL/SQL语句,可以被保存...

    oracle基础知识

    例如,`oracle基本函数.txt`可能涵盖日期函数(如SYSDATE获取当前系统日期,ADD_MONTHS增加月份),字符串函数(如SUBSTR截取子串,UPPER转为大写),数学函数(如ROUND四舍五入,MOD求余数)等。`decode.txt`可能是...

    oracle与sqlserver的区别.docx

    - 字符串截取:Oracle 使用 `SUBSTR(字符串 | 数据列,截取开始索引,截取结束索引)`,而 SQL Server 使用 `SUBSTRING(字符串 | 数据列,截取开始索引,截取结束索引)`。 - 长度函数:Oracle 中计算字符串长度使用...

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    - 使用INSTR找到逗号的位置,然后用SUBSTR截取子串: SELECT SUBSTR('32.8,63.5', INSTR('32.8,63.5', ',', 1, 1) + 1) "INSTRING" FROM DUAL 此语句将返回 '63.5',因为它从第一个逗号后面开始截取。 - 提取分隔符...

    Oracle考试必备知识

    - `SUBSTR()`:字符串截取函数。 - `TO_DATE()`:转换为日期格式。 - `TO_CHAR()`:转换为字符格式。 - `TO_NUMBER()`:转换为数字格式。 #### 五、Oracle对象管理 1. **同义词(Synonym)**:用于简化对象...

    ORACLE SQL

    - `SUBSTR`: 截取字符串的一部分。如`SELECT SUBSTR(name, 1, 3) AS short_name FROM employees;`截取`name`列前三个字符。 - `LENGTH`: 获取字符串长度。如`SELECT LENGTH(name) FROM employees;`返回`name`列中...

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

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

    oracle函数大全及存储过程语法

    2. 字符串函数:如LENGTH(计算长度)、SUBSTR(截取子串)、UPPER/LOWER(大小写转换)等,方便对字符数据进行操作。 3. 日期时间函数:如SYSDATE(获取当前系统日期)、EXTRACT(提取日期部分)、ADD_MONTHS...

    oracle PLSQL 语法详细手册.docx

    3. **字符函数**:如UPPER,LOWER更改字符大小写,INSTR查找子串位置,SUBSTR截取字符串。 4. **数值函数**:如ROUND,TRUNC进行数值四舍五入或截断,MOD计算模数。 5. **单行函数**:如COUNT,MAX,MIN对单行数据...

Global site tag (gtag.js) - Google Analytics