Recipe 1.28. Using mysql as a Calculator


Problem

You need a quick way to evaluate an expression.

Solution

Use mysql as a calculator. MySQL doesn't require every SELECT statement to refer to a table, so you can select the results of arbitrary expressions.

Discussion

SELECT statements typically refer to some table or tables from which you're retrieving rows. However, in MySQL, SELECT need not reference any table at all, which means that you can use the mysql program as a calculator for evaluating an expression:

mysql> SELECT (17 + 23) / SQRT(64); +----------------------+ | (17 + 23) / SQRT(64) | +----------------------+ |           5.00000000 | +----------------------+ 

This is also useful for checking how a comparison works. For example, to determine whether a given string comparison is case-sensitive, try a statement such as the following:

mysql> SELECT 'ABC' = 'abc'; +---------------+ | 'ABC' = 'abc' | +---------------+ |             1 | +---------------+ 

The result of this comparison is 1 (meaning "true"; in general, nonzero values are true). Expressions that evaluate to false return zero:

mysql> SELECT 'ABC' = 'abcd'; +----------------+ | 'ABC' = 'abcd' | +----------------+ |              0 | +----------------+ 

User variables can store the results of intermediate calculations. The following statements use variables this way to compute the total cost of a hotel bill:

mysql> SET @daily_room_charge = 100.00; mysql> SET @num_of_nights = 3; mysql> SET @tax_percent = 8; mysql> SET @total_room_charge = @daily_room_charge * @num_of_nights; mysql> SET @tax = (@total_room_charge * @tax_percent) / 100; mysql> SET @total = @total_room_charge + @tax; mysql> SELECT @total; +--------+ | @total | +--------+ |    324 | +--------+ 




MySQL Cookbook
MySQL Cookbook
ISBN: 059652708X
EAN: 2147483647
Year: 2004
Pages: 375
Authors: Paul DuBois

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net