At 03:30 PM 12/19/2005, Logan, David (SST - Adelaide) wrote:
Why not then use user variables? eg.

select @a:=((col1+col2+col3)/col4), @b:=((col5+col6+col7)/col8),
pow(@a,2), pow(@b,2) ...  table1

Regards

David Logan
Database Administrator
HP Managed Services
148 Frome Street,
Adelaide 5000
Australia

David,
That looks interesting. The only drawback of course is it creates more temporary variable columns for @a,@b etc. that gets displayed. Of course it could be simplified even more with a simple @[EMAIL PROTECTED] etc.. Thanks for the suggestion. I'll put it to work. :-)

Mike


+61 8 8408 4273 - Work
+61 417 268 665 - Mobile
+61 8 8408 4259 - Fax


-----Original Message-----
From: mos [mailto:[EMAIL PROTECTED]
Sent: Tuesday, 20 December 2005 7:40 AM
To: Elmar von Muralt
Cc: mysql@lists.mysql.com
Subject: Re: How to Square a number?

At 02:32 PM 12/19/2005, Elmar von Muralt wrote:
>Mike,
>
>How about:
>
>temp1 = [Expression]
>temp2 = temp1 * temp1
>
>This should be quick enough, assuming tempN are cast as integers
>
>Elmar

Nope, not quite.<g>
The expression is an expression based on columns in the table, as in:

select ((col1+col2+col3)/col4), ((col5+col6+col7)/col8) ...  table1

So it looks like I'll have to use Power(num,exp) after all to square
these
expressions.

Mike


>mos wrote:
>
>>At 08:30 AM 12/19/2005, Peter Brawley wrote:
>>
>>> >        Yes, it's a bit more complicated than that. I'm using an
>>> expression
>>> >so I don't want to have to repeat the whole expression all over
again.
>>>
>>>What's wrong with CAST( POWER( <expr>, 2 ) AS SIGNED )?
>>>
>>>PB
>>>
>>>------
>>
>>
>>PB,
>>         Yes it looks like I'll have to use Power() after all. From a
>> programming standpoint, I thought using a floating point function
like
>> Power on an integer was inefficient and makes it harder to read the
>> exoression. But I'll give it a try. Thanks. I'm still not sure why
the
>> ** operator is not supported because it would reduce the amount of
code
>> considerably (I have to square quite a few numbers).  Oh well. :(
>>
>>Mike
>>
>>
>>>mos wrote:
>>>
>>>>At 05:43 PM 12/18/2005, James Harvard wrote:
>>>>
>>>>>Maybe I'm missing something, but can't you just multiply the number
by
>>>>>itself?
>>>>>
>>>>>select (3 * 3);
>>>>>
>>>>>select (int_col * int_col) as squared from table_name;
>>>>>
>>>>>James H
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>James,
>>>>         Yes, it's a bit more complicated than that. I'm using an
>>>> expression so I don't want to have to repeat the whole expression
all
>>>> over again.
>>>>
>>>>Mike
>>>>
>>>>
>>>>
>>>>
>>>>>At 5:36 pm -0600 18/12/05, mos wrote:
>>>>> >How do I square a number in MySQL 4.1? I thought it would be
>>>>> something simple like:
>>>>> >select 3**2
>>>>> >but that produces a syntax error. I can use Pow(3,2) but that
>>>>> produces a float. Is there a Square function?
>>>>>
>>>>>--
>>>>>MySQL General Mailing List
>>>>>For list archives: http://lists.mysql.com/mysql
>>>>>To unsubscribe:
>>>>>http://lists.mysql.com/[EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>>--
>>>No virus found in this outgoing message.
>>>Checked by AVG Free Edition.
>>>Version: 7.1.371 / Virus Database: 267.14.1/206 - Release Date:
12/16/2005
>>
>>


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


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

Reply via email to