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 我觉得是不是sybase上有运算限制,我这里有很多的运算 是的!
http://manuals.sybase.com/onlinebooks/group-as/asg1250e/svrtsg/@Generic__BookTextView/38093;pt=37994/* 谢谢版主 大天使,有你在偶心里踏实多了
页:
[1]