Skip to main content
Documents
Basic SyntaxMath FunctionsDate FunctionsJSON FunctionsDatabasesTables & Schema ManagementString FunctionsTriggersIndexes

PostgreSQL SQRT

The PostgreSQL `SQRT` function is a mathematical function used to compute the square root of a given numeric expression. It is essential for performing calculations that require the extraction of a square root in database queries.

Usage

The `SQRT` function is utilized when you need to calculate the square root of a number in your SQL queries. This function is particularly useful in scenarios involving mathematical computations and data analysis. It returns a `double precision` type, which is important for understanding the resulting data type.

SELECT SQRT(numeric_expression);

In this syntax, `numeric_expression` is the number from which you want to calculate the square root.

Examples

1. Basic Square Root Calculation

SELECT SQRT(16);

This example computes the square root of 16, resulting in 4.

2. Square Root of a Column Value

SELECT id, SQRT(area) as area_sqrt
FROM plots;

Here, the square root of the `area` column is calculated for each row in the `plots` table, with the result aliased as `area_sqrt`.

3. Using SQRT in a Conditional Expression

SELECT id, 
       CASE 
           WHEN SQRT(value) > 10 THEN 'Large'
           ELSE 'Small'
       END as size_category
FROM numbers;

This example uses `SQRT` within a `CASE` statement to categorize entries in the `numbers` table as 'Large' or 'Small' based on whether their square root exceeds 10.

4. Handling Negative Inputs

SELECT SQRT(-4);

This example demonstrates that attempting to calculate the square root of a negative number results in an error. It highlights the importance of ensuring non-negative inputs.

5. Square Root with NULL Values

SELECT SQRT(NULL);

When `SQRT` is applied to `NULL`, it returns `NULL`, which is useful for handling datasets with potential nulls.

Tips and Best Practices

  • Ensure non-negative values. The `SQRT` function should only be used with non-negative numbers to avoid errors. Familiarize yourself with PostgreSQL's error messages related to invalid input for `SQRT` to better handle exceptions in applications.
  • Handling NULL inputs. Remember that `SQRT` returns `NULL` for `NULL` inputs, which is an important aspect when dealing with datasets containing null values.
  • Indexing Considerations. When using `SQRT` on indexed columns, be aware that it can impact performance since PostgreSQL may not use the index efficiently. Consider pre-calculating values or storing results in a separate column as alternatives when performance is critical.
  • Data Type Awareness. Be cautious with data types; ensure the numeric expression is adequately cast to a type that supports square root calculation.
  • Combine with other mathematical functions. Use `SQRT` in conjunction with other mathematical functions for complex calculations and analytics.
  • Handling large datasets. For large datasets, consider performing such calculations in application logic rather than SQL to optimize performance.