MySQL Forums
Forum List  »  General

CREATE TABLE truncates data in 5.4
Posted by: Colin Wyers
Date: November 24, 2009 01:05AM

When I run the following query:

SELECT "H" AS Eq
, SUM(IF(EVENT IN (2,3),LWTS,0)*IF(EVENT IN (2,3),Num,0))
/SUM(IF(EVENT IN (2,3),Num,0))+SUM(IF(EVENT IN (2,3),Outs,0)*IF(EVENT IN (2,3),Num,0))
/SUM(IF(EVENT IN (2,3),Num,0))*R_Out AS O
, SUM(IF(EVENT = 14,LWTS,0))+SUM(IF(EVENT = 14,Outs,0))*R_Out AS BB
, SUM(IF(EVENT = 15,LWTS,0))+SUM(IF(EVENT = 15,Outs,0))*R_Out AS IBB
, SUM(IF(EVENT = 16,LWTS,0))+SUM(IF(EVENT = 16,Outs,0))*R_Out AS HBP
, SUM(IF(EVENT = 20,LWTS,0))+SUM(IF(EVENT = 20,Outs,0))*R_Out AS S
, SUM(IF(EVENT = 21,LWTS,0))+SUM(IF(EVENT = 21,Outs,0))*R_Out AS D
, SUM(IF(EVENT = 22,LWTS,0))+SUM(IF(EVENT = 22,Outs,0))*R_Out AS T
, SUM(IF(EVENT = 23,LWTS,0))+SUM(IF(EVENT = 23,Outs,0))*R_Out AS HR
, SUM(IF(EVENT = 4,LWTS,0)) AS SB
, SUM(IF(EVENT = 6,LWTS,0)) AS CS
FROM (SELECT EVENT, Num, Outs, LWTS FROM batter_lwts_odd
UNION ALL
SELECT EVENT, Num, 0 AS Outs, LWTS FROM runner_lwts_odd) a, runs_pa_odd p;

I get the expected results - fractional values out to six decimal places or so. But when I do this:

CREATE TABLE lwts_odd_2 AS
SELECT "H" AS Eq
, SUM(IF(EVENT IN (2,3),LWTS,0)*IF(EVENT IN (2,3),Num,0))
/SUM(IF(EVENT IN (2,3),Num,0))+SUM(IF(EVENT IN (2,3),Outs,0)*IF(EVENT IN (2,3),Num,0))
/SUM(IF(EVENT IN (2,3),Num,0))*R_Out AS O
, SUM(IF(EVENT = 14,LWTS,0))+SUM(IF(EVENT = 14,Outs,0))*R_Out AS BB
, SUM(IF(EVENT = 15,LWTS,0))+SUM(IF(EVENT = 15,Outs,0))*R_Out AS IBB
, SUM(IF(EVENT = 16,LWTS,0))+SUM(IF(EVENT = 16,Outs,0))*R_Out AS HBP
, SUM(IF(EVENT = 20,LWTS,0))+SUM(IF(EVENT = 20,Outs,0))*R_Out AS S
, SUM(IF(EVENT = 21,LWTS,0))+SUM(IF(EVENT = 21,Outs,0))*R_Out AS D
, SUM(IF(EVENT = 22,LWTS,0))+SUM(IF(EVENT = 22,Outs,0))*R_Out AS T
, SUM(IF(EVENT = 23,LWTS,0))+SUM(IF(EVENT = 23,Outs,0))*R_Out AS HR
, SUM(IF(EVENT = 4,LWTS,0)) AS SB
, SUM(IF(EVENT = 6,LWTS,0)) AS CS
FROM (SELECT EVENT, Num, Outs, LWTS FROM batter_lwts_odd
UNION ALL
SELECT EVENT, Num, 0 AS Outs, LWTS FROM runner_lwts_odd) a, runs_pa_odd p;

The values all get converted into integers. This is new behavior since moving to MySQL 5.4 from 5.1. Is anyone else having this problem?

Thanks,
--CW

Options: ReplyQuote


Subject
Written By
Posted
CREATE TABLE truncates data in 5.4
November 24, 2009 01:05AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.