Ah, I see. Of course. And adding 0 is exactly what the manual says to do.

I was about to reply to say that |0 works where +0 does not when Bernard sent his excellent suggestion to cast as unsigned. Then I spent a while trying to figure out why you got such a large number for '40'. I finally noticed you had '30' twice, '40' where one would expect '50', and no '50' in the set definition, so '40' is the 49th element of the set. I don't expect that's a problem for you, as I imagine you just made up that table to illustrate the issue, but it boggled my mind for a bit.

Now, it seems to me, the question is whether this is a bug or a documentation error.

Michael

Greg Vines wrote:

With sets if you select the set, you get a comma delimited list, but if
you add zero, you get the number value of the entire set (which is what
I want). The response is not always in exponential notation - just when
a high order bit is set.


This seems to be a problem with the output formatting. Do you know if
there is a way to set the number of characters in a numeric response?


On Fri, 2004-02-06 at 12:54, Michael Stassen wrote:

Why are you adding 0? Try this:

SELECT var1, var2 FROM test1;

Michael

Greg Vines wrote:


I'm trying to select all the fields from a set but when the number is
large, it is returned in exponential notation.  Is there a way to keep
the returned number an integer?

Example:
create simple table:

create table test1(
var1 int,
var2 set("1","2","3","4","5","6","7","8","9","10", "11","12","13","14","15","16","17","18","19","20",
"21","22","23","24","25","26","27","28","29","30",
"31","32","33","34","35","36","37","38","39","30",
"41","42","43","44","45","46","47","48","49","40",
"51","52","53","54","55","56","57","58","59","60")
);


Add a row:

insert into test1 values (1, "40");

Then select & oops:

select var1,var2+0 from test1;

+------+---------------------+
| var1 | var2+0              |
+------+---------------------+
|    1 | 5.6294995342131e+14 |
+------+---------------------+


How can I get this output as an integer?


I've tried both MySQL 3.23 and 4.0.17 with the same result.  I'm running
on linux (RHL 8.0)

Thanks
- Greg





--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to