首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-00932错误。不确定如何修复

ORA-00932错误。不确定如何修复
EN

Stack Overflow用户
提问于 2010-11-03 04:03:11
回答 5查看 4.6K关注 0票数 1

我正在尝试运行此Oracle查询...

代码语言:javascript
复制
  SELECT COUNT(*) as total, 
         q1 
    FROM exit_responses 
   WHERE sdate BETWEEN '03-Aug-10 12:00:00 AM' AND '03-Nov-10 12:00:00 AM' 
GROUP BY q1;

...but我一直收到这个错误...

代码语言:javascript
复制
Error starting at line 3 in command:
SELECT COUNT(*) as total, q1 FROM exit_responses WHERE sdate BETWEEN '03-Aug-10 12:00:00 AM' AND '03-Nov-10 12:00:00 AM' GROUP BY q1 
Error at Command Line:3 Column:130
Error report:
SQL Error: ORA-00932: inconsistent datatypes: expected - got CLOB
00932. 00000 -  "inconsistent datatypes: expected %s got %s"
*Cause:    
*Action:

有谁有什么想法吗?说它是不一致的数据类型...但我想我还没有完全理解。

谢谢

顺便说一句,这是我的exit_responses表的描述:

代码语言:javascript
复制
DESC exit_responses
Name                           Null     Type                                                                                                                                                                                          
------------------------------ -------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
SDATE                                   DATE                                                                                                                                                                                          
F_NAME                                  VARCHAR2(255 CHAR)                                                                                                                                                                            
L_NAME                                  VARCHAR2(255 CHAR)                                                                                                                                                                            
TITLE                                   VARCHAR2(255 CHAR)                                                                                                                                                                            
DEPARTMENT                              VARCHAR2(255 CHAR)                                                                                                                                                                            
EMP_TYPE                                VARCHAR2(11 CHAR)                                                                                                                                                                             
LENGTH_OF_SERVICE                       VARCHAR2(255 CHAR)                                                                                                                                                                            
Q1                                      CLOB()                                                                                                                                                                                        
Q2                                      CLOB()                                                                                                                                                                                        
Q2_OTHER                                CLOB()                                                                                                                                                                                        
Q3_PAY                                  NUMBER                                                                                                                                                                                        
Q3_HOLIDAYS                             NUMBER                                                                                                                                                                                        
Q3_VACATION                             NUMBER                                                                                                                                                                                        
Q3_SICK                                 NUMBER                                                                                                                                                                                        
Q3_INSURANCE                            NUMBER                                                                                                                                                                                        
Q3_RETIREMENT                           NUMBER                                                                                                                                                                                        
Q3_FSA                                  NUMBER                                                                                                                                                                                        
Q4_AVAILABILITY                         NUMBER                                                                                                                                                                                        
Q4_QUALITY                              NUMBER                                                                                                                                                                                        
Q4_SATISFACTION                         NUMBER                                                                                                                                                                                        
Q4_COMMENTS                             NUMBER                                                                                                                                                                                        
Q5_ORIENTATION                          NUMBER                                                                                                                                                                                        
Q5_POLICIES                             NUMBER                                                                                                                                                                                        
Q5_PROMOTIONAL                          NUMBER                                                                                                                                                                                        
Q6_JOBDUTIES                            NUMBER                                                                                                                                                                                        
Q6_RELATIONSHIPS                        NUMBER                                                                                                                                                                                        
Q6_COOPERATION                          NUMBER                                                                                                                                                                                        
Q6_EQUIPMENT                            NUMBER                                                                                                                                                                                        
Q6_CONDITIONS                           NUMBER                                                                                                                                                                                        
Q6_SAFETY                               NUMBER                                                                                                                                                                                        
Q7                                      NUMBER                                                                                                                                                                                        
Q8_KNOWLEDGE                            NUMBER                                                                                                                                                                                        
Q8_DELEGATION                           NUMBER                                                                                                                                                                                        
Q8_OBSERVANCE                           NUMBER                                                                                                                                                                                        
Q8_FEEDBACK                             NUMBER                                                                                                                                                                                        
Q8_CONTRIBUTIONS                        NUMBER                                                                                                                                                                                        
Q8_LISTENED                             NUMBER                                                                                                                                                                                        
Q8_COMPLAINTS                           NUMBER                                                                                                                                                                                        
Q9                                      VARCHAR2(3 CHAR)                                                                                                                                                                              
Q9_DESCRIBE                             CLOB()                                                                                                                                                                                        
Q10                                     CLOB()                                                                                                                                                                                        
Q11                                     NUMBER                                                                                                                                                                                        
Q11_COMMENTS                            CLOB()                                                                                                                                                                                        
Q12                                     NUMBER                                                                                                                                                                                        
Q12_DESCRIBE                            CLOB()                                                                                                                                                                                        
ADDITIONAL_COMMENTS                     CLOB() 
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-03 04:08:03

SDATE列的数据类型是什么?假设它是一个日期,您几乎肯定希望使用显式的TO_DATE调用将字符串转换为日期。

代码语言:javascript
复制
WHERE sdate BETWEEN to_date('03-Aug-2010', 'DD-MON-YYYY') 
                AND to_date( '03-Nov-2010', 'DD-MON-YYYY' )

由于午夜是指定none时的默认时间,因此不一定需要12:00:00 AM位。如果你想把它包括进来

代码语言:javascript
复制
WHERE sdate BETWEEN to_date('03-Aug-2010 12:00:00 AM', 'DD-MON-YYYY HH:MI:SS AM') 
                AND to_date( '03-Nov-2010 12:00:00 AM', 'DD-MON-YYYY HH:MI:SS AM' )

如果SDATE是一个日期,并且您希望BETWEEN采用两个不同的Unix纪元(自1970年1月1日以来的毫秒),而不是字符串,则可能需要如下内容

代码语言:javascript
复制
WHERE sdate BETWEEN date '1970-01-01' + :1/86400000  
                AND date '1970-01-01' + :2/86400000 

其中:1和:2是两个绑定变量。如果您的纪元是自1970年1月1日以来的秒数

代码语言:javascript
复制
WHERE sdate BETWEEN date '1970-01-01' + :1/86400  
                AND date '1970-01-01' + :2/86400 
票数 2
EN

Stack Overflow用户

发布于 2010-11-03 04:07:09

假设sdate的date类型是Oracle DATE,在Oracle中使用TO_DATE function将字符串转换为DATE:

代码语言:javascript
复制
  SELECT COUNT(*) as total, 
         q1 
    FROM exit_responses 
   WHERE sdate BETWEEN TO_DATE('03-Aug-10 12:00:00 AM', 'DD-MON-YY HH12:MI:SS AM') 
                   AND TO_DATE('03-Nov-10 12:00:00 AM', 'DD-MON-YY HH12:MI:SS AM') 
GROUP BY q1;
票数 3
EN

Stack Overflow用户

发布于 2010-11-03 04:08:30

我猜测sdate是一个日期或日期时间列,在这种情况下,您需要转换日期字符串:

代码语言:javascript
复制
  SELECT COUNT(*) as total,  
         q1  
    FROM exit_responses  
   WHERE sdate BETWEEN to_date('03-Aug-10 12:00:00 AM') AND to_date('03-Nov-10 12:00:00 AM')  
GROUP BY q1; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4081641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档