首页 > 其他分享 >ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB/ORA-01460: 转换请求无法实施或不合理

ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB/ORA-01460: 转换请求无法实施或不合理

时间:2022-11-18 16:44:27浏览次数:49  
标签:CLOB 数据类型 Value 字段 ORA 赋值

最近公司软件中某功能在使用时报错了:

ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB

看了一下SQL如下:

SELECT DISTINCT CLOB字段 FROM
    ( SELECT CLOB字段 FROM 表A WHERE CLOB字段 LIKE :Value 
      UNION ALL 
      SELECT CLOB字段 FROM 表B WHERE CLOB字段 LIKE :Value ) 
WHERE ROWNUM <= 10 ORDER BY CLOB字段 

字段是根据不同的表赋值的,一般字段类型都是NVARCHAR2,但是这个字段类型为CLOB,在Navicat运行发现有两个问题:ORDER BY以及DISTINCT作用于CLob字段会报错:ORA-00932: 数据类型不一致: 应为 -, 但却获得 CLOB,遇到CLOB字段把ORDER BY/DISTINCT去掉就可以了。

于是做了个判断,先去查询字段类型:

SELECT DATA_TYPE FROM ALL_TAB_COLS WHERE TABLE_NAME = '表名' AND COLUMN_NAME ='字段名'

再去根据取得的DATA_TYPE,来分别对SQL语句赋值。

赋值参数的时候最好也要分别赋值,

NVARCHAR2直接赋值就可以了

paramList.Add(new OracleParameter(":Value", String.Format("%{0}%", param.Value)));

Clob字段参数类型定义为Clob

var p = new OracleParameter(":Value", OracleType.Clob);
p.Value = String.Format("%{0}%", param.Value);
paramList.Add(p);

否则会出现ORA-01460: 转换请求无法实施或不合理

标签:CLOB,数据类型,Value,字段,ORA,赋值
From: https://www.cnblogs.com/yellow3gold/p/16903723.html

相关文章

  • ORA-06508: PL/SQL: could not find program unit being called: "APEX_030200.WWV_FL
    今天从Windows上把一个1TB的数据库导入到linuxoracle11g中,频繁出现如下的APEX报错:FriNov1815:43:412022Errorsinfile/u01/app/oracle/diag/rdbms/dagl/dagl/tra......
  • ORACLE中%TYPE和%ROWTYPE的使用
    1、%TYPE为了使一个新定义的变量与另一个已经定义了的变量(通常是表的某一列)的数据类型保持一致,Oracle提供了%Type的定义方式,当被参照的那个变量的数据类型发生改变......
  • Typora语法笔记
    1,前言Markdown是一款普通文本编辑器,简洁好用,通过简单的标记语法,使普通文本内容有一定的格式2,Typura简单常用语法2.1标题1,#一级标题2,##二级标题3,###二级标题··......
  • Purging/Cleaning Sysaux Tablespace In Oracle
    RestrictionsonSYSAUXtablespace1.UsingSYSAUXDATAFILEclauseintheCREATEDATABASEstatementyoucanspecifyonlydatafileattributesinSYSAUXtablespac......
  • 【转载】Oracle11gR2 RAC primary+Single standby DG配置实践
    很久之前做的实验,今天在CSDN存档一下:说明:RACprimary和Singlestandby配置2节点RAC和1个singleinstance组成的dataguard环境。 1.环境介绍Primarydatabase是一个......
  • oracle中with的用法是什么
    oracle中with的用法是什么在oracle中,with语句可以实现子查询,用于创建一个公共临时表,提高语句执行的效率,语法为“withtempNameas(select....)select...”。我们在ora......
  • JavaScript语法_与html结合方式和JavaScript语法_注释&数据类型
    JavaScript语法_与html结合方式:ECMAscript:客户端脚本语言的标准1.基本语法∶与html结合方式1.内部JS:定义<script>,标签体内容就是js代码2.外部JS:定义<script>,通过s......
  • Oracle重建索引
    创建表createtablestudent(student_idnumber,namevarchar2(240))tablespaceschool_data;创建索引createindexstudent_n1onstuden(name);查看......
  • 基本数据类型和引用数据类型
    基本数据类型传入的是数据的副本,原数据的改变不会影响到后面传入的数据引用数据类型传入的是数据的地址,原数据的改变会影响基本数据类型存储在栈内,引用数据类型存储在堆......
  • Redis学习(二)之redis中的数据类型之String类型
     1、可以用来存储html碎片或者页面。2、可以通过set、get来操作。3、value最大512M。  1、setkeynewvaluenx 如果后面加了nx,则只在key不存在时,才对key进......