And another one is (in inverse order for laziness):

select
  (8 & 1) AS `0`
, (8 & 2 > 1) AS `1`
, (8 & 4 > 1) AS `2`
, (8 & 8 > 1) AS `3`
, (8 & 16 > 1) AS `4`
, (8 & 32 > 1) AS `5`
, (8 & 64 > 1) AS `6`
, (8 & 128 > 1) AS `7`
;


Ed Reed wrote:
> Well I solved the problem by using LPAD but it would be nice if there was a 
> more elegant way of handling this problem.
>  
> Thanks for the help.
>
>   
>>>> "Ed Reed" <[EMAIL PROTECTED]> 1/10/06 2:52 PM >>>
>>>>         
> Thanks Gordon and Bill but this has one big problem
>
> If my decimal number is 8 the result ends up,
>
> Results:
> +---+---+---+---+---+---+---+---+
> | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
> +---+---+---+---+---+---+---+---+
> | 1 | 0 | 0 | 0 | | | | |
> +---+---+---+---+---+---+---+---+
>
> when what i really need is,
>
> Results:
> +---+---+---+---+---+---+---+---+
> | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
> +---+---+---+---+---+---+---+---+
> | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
> +---+---+---+---+---+---+---+---+
>
> Any thoughts?
>
>
>
>
>   
>>>> "Gordon Bruce" < [EMAIL PROTECTED] > 1/10/06 1:44 PM >>>
>>>>         
> Actually CONV converts from any base to any base so if it is base 10
> then just replace the 16's with 10's. 
>
> Too much time looking at dump's.
>
> -----Original Message-----
> From: Bill Dodson [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, January 10, 2006 3:09 PM
> To: Gordon Bruce
> Cc: Ed Reed; mysql@lists.mysql.com 
> Subject: [SPAM] - Re: Converting decimal to binary - Bayesian Filter
> detected spam
>
> If you really do mean decimal (base 10) you could use Gordon's solution 
> like this:
>
> SELECT
> MID(CONV(HEX(245),16,2),1,1) AS `7`,
> MID(CONV(HEX(245),16,2),2,1) AS `6`,
> MID(CONV(HEX(245),16,2),3,1) AS `5`,
> MID(CONV(HEX(245),16,2),4,1) AS `4`,
> MID(CONV(HEX(245),16,2),5,1) AS `3`,
> MID(CONV(HEX(245),16,2),6,1) AS `2`,
> MID(CONV(HEX(245),16,2),7,1) AS `1`,
> MID(CONV(HEX(245),16,2),8,1) AS `0` ;
>
> Results:
> +---+---+---+---+---+---+---+---+
> | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
> +---+---+---+---+---+---+---+---+
> | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
> +---+---+---+---+---+---+---+---+
>
>
> Hope this helps.
>
>
>
> Gordon Bruce wrote:
>
>   
>> If by Decimal you mesn HEXIDECIMAL you can use CONV 
>> where the 1st arg is the HEX value, 
>> 2nd arg is From Base 
>> and 3rd arg is To Base. 
>>
>> You will have to suround the aliases with "`'s" if you really want 
>> the names to be numeric.
>>
>>
>> mysql> select MID(CONV('A5',16,2),1,1) AS `7`,
>> -> MID(CONV('A5',16,2),2,1) AS `6`,
>> -> MID(CONV('A5',16,2),3,1) AS `5`,
>> -> MID(CONV('A5',16,2),4,1) AS `4`,
>> -> MID(CONV('A5',16,2),5,1) AS `3`,
>> -> MID(CONV('A5',16,2),6,1) AS `2`,
>> -> MID(CONV('A5',16,2),7,1) AS `1`,
>> -> MID(CONV('A5',16,2),8,1) AS `0` ;
>> +---+---+---+---+---+---+---+---+
>> | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
>> +---+---+---+---+---+---+---+---+
>> | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 1 |
>> +---+---+---+---+---+---+---+---+
>> 1 row in set (0.00 sec)
>>
>> -----Original Message-----
>> From: Ed Reed [mailto:[EMAIL PROTECTED] 
>> Sent: Tuesday, January 10, 2006 12:16 PM
>> To: mysql@lists.mysql.com 
>> Subject: Converting decimal to binary
>>
>> Can anyone tell me if it's possible, in 4.1.11, to convert a decimal
>> number to binary and have the result be returned as a separate field
>>     
> for
>   
>> each bit? For example, what I'd like to do is,
>>
>> Select ConvertToBin(245);
>>
>> And have a result that looked like this
>> +---+---+---+---+---+---+---+---+
>> | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
>> +---+---+---+---+---+---+---+---+
>> | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
>> +---+---+---+---+---+---+---+---+
>>
>> - Thanks
>>
>>
>>
>>
>>
>>     
>
>
>   


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

Reply via email to