Обсуждение: Function in psql to Compare two numbers and return the bigger value
HEllo, I am looking for a psql method to get the bigger value of two numbers. For example, methodName(12.6, 3.8) Will return 12.6 Thanks!
You want GREATEST() <http://www.postgresql.org/docs/8.2/interactive/functions-conditional.ht ml#AEN13140> -----Original Message----- From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Emi Lu Sent: Tuesday, February 13, 2007 12:37 PM To: pgsql-general@postgresql.org Subject: [GENERAL] Function in psql to Compare two numbers and return the bigger value HEllo, I am looking for a psql method to get the bigger value of two numbers. For example, methodName(12.6, 3.8) Will return 12.6 Thanks! ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend
Emi Lu wrote: > HEllo, > > I am looking for a psql method to get the bigger value of two numbers. > > For example, > > methodName(12.6, 3.8) > select greatest(12.6,3.8);
>> I am looking for a psql method to get the bigger value of two numbers. >> >> For example, >> >> methodName(12.6, 3.8) >> > select greatest(12.6,3.8); It does not work for me, select greatest(12.6,3.8); ERROR: function greatest(numeric, numeric) does not exist HINT: No function matches the given name and argument types. You may need to add explicit type casts. In 8.1 docs, it says that: GREATEST(value [, ...]) LEAST(value [, ...]) * Note that GREATEST and LEAST are not in the SQL standard, but are a common extension. * Does it mean it is not allowed to use "select greatest(12.6,3.8)" ? thanks
Emi Lu wrote: > >>> I am looking for a psql method to get the bigger value of two numbers. >>> >>> For example, >>> >>> methodName(12.6, 3.8) >>> >> select greatest(12.6,3.8); > > It does not work for me, > select greatest(12.6,3.8); > ERROR: function greatest(numeric, numeric) does not exist > HINT: No function matches the given name and argument types. You may > need to add explicit type casts. > > In 8.1 docs, it says that: > GREATEST(value [, ...]) > LEAST(value [, ...]) > > * Note that GREATEST and LEAST are not in the SQL standard, but are a > common extension. * > > Does it mean it is not allowed to use "select greatest(12.6,3.8)" ? I see the reason, my version is 8.0.8. The doc is for 8.1. Thank you for all your help!
Emi Lu wrote:
> Does it mean it is not allowed to use "select greatest(12.6,3.8)" ?
It may mean you're not running 8.1? Here's what I get:
-----------------------------------------------------------
->psql
Welcome to psql 8.1.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
swampler=# select GREATEST(6.3, 2.8);
greatest
----------
6.3
(1 row)
swampler=# select greatest(6.3, 2.8);
greatest
----------
6.3
(1 row)
swampler=#
-----------------------------------------------------------
--
Steve Wampler -- swampler@noao.edu
The gods that smiled on your birth are now laughing out loud.