首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ORA-00932: 数据类型不一致: 应为 NUMBER, 但却取得 BLOB

2012-08-03 
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BLOBSQL SELECTb.INFO_SORT_NAME, a.INFO_ID, a.INFO

ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BLOB
SQL> SELECT  b.INFO_SORT_NAME, a.INFO_ID, a.INFO_TITLE, a.OPERUSER,
  2  a.OPER_TIME ,a.COLOR FROM MT_INFO a, MT_INFO_SORT b WHERE 1 =1
  3  AND a.INFO_SORT_CODE = b.INFO_SORT_CODE
  4  AND  b.INFO_SORT_CODE = 'INFO0016'
  5  AND ( a.INFO_TITLE LIKE '%期货%' OR a.INFO_CONTENT like '%期货%')
  6  ORDER BY a.OPER_TIME DESC,b.INFO_SORT_CODE, a.INFO_ID DESC;
AND ( a.INFO_TITLE LIKE '%期货%' OR a.INFO_CONTENT like '%期货%')
                                    *
第 5 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BLOB


SQL> desc MT_INFO_SORT;
名称                                      是否为空? 类型
----------------------------------------- -------- ---------------------------

INFO_SORT_ID                              NOT NULL NUMBER(10)
INFO_SORT_CODE                                     VARCHAR2(60 CHAR)
INFO_SORT_NAME                                     VARCHAR2(120 CHAR)
LOCATE_NO                                          FLOAT(126)
INFO_SORT_TYPE                                     NUMBER(5)
VALID_FLAG                                         NUMBER(5)
MESSAGE_FLAG                                       NUMBER(5)
EXISTING_FLAG                                      NUMBER(5)
INDEX_FLAG                                         NUMBER(5)
NOUS_FLAG                                          NUMBER(5)

SQL> desc mt_info;
名称                                      是否为空? 类型
----------------------------------------- -------- ---------------------------

INFO_ID                                   NOT NULL FLOAT(126)
INFO_SORT_CODE                                     VARCHAR2(60 CHAR)
INFO_TITLE                                         VARCHAR2(120 CHAR)
INFO_CONTENT                                       BLOB
VISIBLE_FLAG                                       NUMBER(5)
FOCUS_FLAG                                         NUMBER(5)
MEMBER_FLAG                                        NUMBER(5)
INDEX_FLAG                                         NUMBER(5)
INFO_FROM                                          VARCHAR2(60 CHAR)
OPERUSER                                           VARCHAR2(32 CHAR)
OPER_TIME                                          VARCHAR2(20 CHAR)
MESSAGE_FLAG                                       NUMBER(5)
EXISTING_FLAG                                      NUMBER(5)
HIT                                                NUMBER(5)
COLOR                                              VARCHAR2(10 CHAR)
INDEX_ROLLING                                      NUMBER(5)
SECOND_SOFT                                        VARCHAR2(10 CHAR)
CONTENT_FLAG                                       NUMBER(10)
BINARY_VALUE                                       VARCHAR2(2000 CHAR)

这个是什么原因。该语句在mysql下没报错。数据库是从mysql切换到oracle的。 1 楼 cocojeje 2011-01-14   将 a.INFO_CONTENT like '%期货%' 换成

dbms_lob.instr(blob_field, utl_raw.CAST_TO_RAW('期货'), 1, 1) > 0

就正常。可能是数据的不同吧

热点排行