presbyter 发表于 2008-01-02 16:15

sybase报错为 select error:truncation error occurred

在执行下面的这句话时,sybase报错为 select error:truncation error occurred   ,那位高人可以告诉我,这是怎么一回事?
先谢谢了
SELECTSUBSTRING(START_TIME,1,10),ID,MEAL_ID,2,0,0,               
      ROUND(SUM(CASE WHEN MEAL_ID='1' THEN CASE WHEN DURATION<=180 THEN 22/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01 ELSE (22+CEILING((DURATION-180)/60)*11)/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01 END               
         WHEN MEAL_ID IN ('2','6') THEN CEILING(ISNULL(DURATION,0)/60)*25/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01               
         WHEN MEAL_ID IN ('3','4','5') THEN CEILING(DURATION/60)*15/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01            
         WHEN MEAL_ID IN ('11') THEN CEILING(DURATION/60)*.12/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01
         WHEN MEAL_ID IN ('12') THEN CEILING(DURATION/60)*.10/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01            
         WHEN MEAL_ID IN ('7','9','10') AND COMMENTS ='VLT' THEN CEILING(ISNULL(DURATION,0)/60)*10/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01         
         WHEN MEAL_ID IN ('7','9','10') AND COMMENTS <> 'VLT' THEN CEILING(ISNULL(DURATION,0)/60)*25/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01               
    WHEN MEAL_ID IN ('8') AND COMMENTS = 'XYT' THEN CEILING(ISNULL(DURATION,0)/60)*7/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01      
    WHEN MEAL_ID IN ('8') AND COMMENTS <> 'XYT' THEN CEILING(ISNULL(DURATION,0)/60)*20/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01      
    WHEN MEAL_ID IN ('14') AND COMMENTS = 'XYT' THEN CEILING(ISNULL(DURATION,0)/60)*7/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01      
    WHEN MEAL_ID IN ('14') AND COMMENTS <> 'XYT' THEN CEILING(ISNULL(DURATION,0)/60)*30/CHARGE*(CHARGE-(PRE_BALANCE-LEFT_BALANCE))*-.01      
      END ),2)                                          
   FROM USAGE_CHARGE_PHS_TEMP                     
WHERE BILL_TYPE IN (SELECT BILL_TYPE FROM STAT_BILL_TYPE WHERE BILL_SORT IN (15,16,17,20,22,31))
AND CHARGE > 0            
GROUP BY SUBSTRING(START_TIME,1,10),ID,MEAL_ID

presbyter 发表于 2008-01-02 16:20

我觉得是不是sybase上有运算限制,我这里有很多的运算

chenfeng825 发表于 2008-01-02 16:27

是的!
http://manuals.sybase.com/onlinebooks/group-as/asg1250e/svrtsg/@Generic__BookTextView/38093;pt=37994/*

presbyter 发表于 2008-01-02 16:49

谢谢版主 大天使,有你在偶心里踏实多了
页: [1]
查看完整版本: sybase报错为 select error:truncation error occurred