> ## Documentation Index
> Fetch the complete documentation index at: https://docs.firebolt.io/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.firebolt.io/feedback

```json
{
  "path": "/reference-sql/functions-reference/numeric/is_finite",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

> Reference material for the IS_FINITE function

# IS_FINITE

export const QueryWindow = ({content}) => {
  const {sql, result} = content;
  const [inited, setInited] = useState(false);
  const buttonRef = useRef(null);
  useEffect(() => {
    if (!inited && buttonRef.current) {
      runQuery(buttonRef.current, true);
      setInited(true);
    }
  }, []);
  return <div className="query-window">
      <div className="query-toolbar">
        <button className="run-button" onClick={ev => runQuery(ev.target)} ref={buttonRef}>Run Query</button>
        <span className="window-title">Interactive SQL Playground 🔥</span>
      </div>
      <div className="query-content">
        <pre><code className="firebolt-sql language-sql" contentEditable="true" spellCheck="false" data-original-query={sql}>{sql}</code></pre>
        <script type="application/json" className="fallback-result" style={{
    display: "none"
  }}>{JSON.stringify(result)}</script>
        <div className="server-unavailable-banner query-window-hidden">
          The Firebolt playground server is currently unavailable. Using precomputed query results.
        </div>
        <div className="query-results"></div>
      </div>
    </div>;
};

Returns `TRUE` if the argument is finite, and `FALSE` otherwise. Only `REAL` and `DOUBLE PRECISION` types can represent infinity in Firebolt, meaning that `IS_FINITE` will always return `TRUE` for `NUMERIC` inputs.

## Syntax

```sql theme={"theme":{"light":"github-light","dark":"github-dark"}}
IS_FINITE(<value>);
```

## Parameters

| Parameter | Description                                                           | Supported input types                 |
| :-------- | :-------------------------------------------------------------------- | :------------------------------------ |
| `<value>` | The input that will be checked to determine if it is a finite number. | `NUMERIC`, `DOUBLE PRECISION`, `REAL` |

## Return Type

`IS_FINITE` returns a value of type `BOOLEAN`.

## Examples

The following example checks whether the value inf, after being cast to a `DOUBLE PRECISION` data type, is a finite number:

<QueryWindow
  content={{
"sql": "SELECT IS_FINITE('inf'::DOUBLE PRECISION);",
"result": {
"data": [
  [
    false
  ]
],
"meta": [
  {
    "name": "?column?",
    "type": "boolean"
  }
],
"query": {
  "query_id": "bf5703b6-542c-4ed1-a2e5-e3089c5b83bf",
  "query_label": null,
  "request_id": "8b70e4d8-79af-485c-a5c8-ff8fe4fe3388"
},
"rows": 1,
"statistics": {
  "bytes_read": 1,
  "elapsed": 0.008165,
  "rows_read": 1,
  "scanned_bytes_cache": 0,
  "scanned_bytes_storage": 0,
  "time_before_execution": 0.0002396,
  "time_to_execute": 8.9233e-05
}
}
}}
/>

The following code example checks whether the value 10, after being cast to a `REAL` data type, is an infinite number:

<QueryWindow
  content={{
"sql": "SELECT IS_FINITE(10::REAL);",
"result": {
"data": [
  [
    true
  ]
],
"meta": [
  {
    "name": "?column?",
    "type": "boolean"
  }
],
"query": {
  "query_id": "d955b43d-3d9e-4ac4-93ee-29f974e379df",
  "query_label": null,
  "request_id": "c635f802-878d-4cc4-afba-c300b820c1ca"
},
"rows": 1,
"statistics": {
  "bytes_read": 1,
  "elapsed": 0.006307,
  "rows_read": 1,
  "scanned_bytes_cache": 0,
  "scanned_bytes_storage": 0,
  "time_before_execution": 0.000245009,
  "time_to_execute": 8.7647e-05
}
}
}}
/>
