Create a SQL Function to Calculate the nth Root of a Number

Vertica has a built-in function to calculate the arithmetic square root a number called SQRT and another built-in function to calculate the arithmetic cube root…

OpenText profile picture
OpenText

February 27, 20191 minute read

Vertica has a built-in function to calculate the arithmetic square root a number called SQRT and another built-in function to calculate the arithmetic cube root of a number called CBRT.

Example:

dbadmin=> SELECT sqrt(9);
sqrt
------
3
(1 row)

dbadmin=> SELECT cbrt(27);
cbrt
------
3
(1 row)

But what if I need a function to calculate the arithmetic nth root of a number? No problem. I can create my own!

dbadmin=> CREATE OR REPLACE FUNCTION nrt (x FLOAT, y FLOAT) RETURN FLOAT
dbadmin-> AS
dbadmin-> BEGIN
dbadmin-> RETURN POWER(x,(1/y));
dbadmin->
dbadmin-> END;
CREATE FUNCTION

dbadmin=> SELECT nrt(390625, 4);
nrt
-----
25
(1 row)

dbadmin=> SELECT nrt(256, 4);
nrt
-----
4
(1 row)

dbadmin=> SELECT nrt(27, 3);
nrt
-----
3
(1 row)

dbadmin=> SELECT nrt(9, 2);
nrt
-----
3
(1 row)

Share this post

Share this post to x. Share to linkedin. Mail to
OpenText avatar image

OpenText

OpenText, The Information Company, enables organizations to gain insight through market-leading information management solutions, powered by OpenText Cloud Editions.

See all posts

More from the author

Fax and figures – automate your fax processes for maximum productivity

Fax and figures – automate your fax processes for maximum productivity

Manual fax processing isn’t scalable

4 minute read

Wheels and Wings: OpenText and Jaguar TCS Racing Accelerate into the Future

Wheels and Wings: OpenText and Jaguar TCS Racing Accelerate into the Future

Dive into the future with OpenText & Jaguar TCS Racing, where data & AI drive innovation on and off the track!

3 minute read

Driving success on the historic Monaco Circuit

Driving success on the historic Monaco Circuit

OpenText real-time data analytics powers Jaguar TCS Racing

4 minute read

Stay in the loop!

Get our most popular content delivered monthly to your inbox.