# mad — Haybarn WASM 1.5.5-rc3

Returns the median absolute deviation for the values within x. NULL values are ignored. Temporal types return a positive INTERVAL.	

- Reference: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/
- JSON: /products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/mad.json
- Snapshot ID: haybarn-1.5.5-rc3
- Engine: haybarn v1.5.6-dev149
- Source ID: 105edd31b5
- Binary SHA-256: 426638bc374fcc542fea93b251f885bfb7d221c68fcc0a5a81cc565d7e6ca180
- Captured: 2026-09-06T00:23:30.515Z
- Source: https://www.npmjs.com/package/@haybarn/haybarn-wasm/v/1.5.5-rc3
- Loaded extensions: core_functions, icu, json, parquet

## Interpretation

- Choose a snapshot matching the target engine and build. The default is captured from the published Haybarn WASM package used by the browser playground. Historical native snapshots are also available.
- Availability is an observation in the recorded build and extension profile, not a guarantee of support in every installation or in WASM.
- Types and descriptions are declarations from duckdb_functions(). Binding can specialize result types. Null means not supplied by the catalog; do not invent defaults, optionality, argument mode, or table output columns.
- Raw parameter arrays preserve catalog order for scalar/aggregate/macro functions. Raw table arguments are alphabetical. Use callingConvention for engine-confirmed positional order and named arguments; null modes are unrecorded. Named does not mean optional. Macro defaults and special named variadic behavior are not supplied by duckdb_functions().
- Catalog examples are source material and may require data or extensions. runnableExamples contains separately verified SQL for the pinned WASM package; sample-data adaptations and guide examples are labeled separately.
- Guide annotations and recipes are separate editorial content. The browser runner always uses Haybarn WASM 1.5.5-rc3, independently of the documentation snapshot.
- All URLs beginning with / are relative to the origin hosting this document. Exports require no JavaScript, cookies, API key, or browser engine.

## Overloads

### overload-c39710e6e0ee38ed

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: DATE) → INTERVAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-c39710e6e0ee38ed

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DATE | not recorded |

Declared return type: INTERVAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-9fce5475a616bea3

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: DECIMAL) → DECIMAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-9fce5475a616bea3

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DECIMAL | not recorded |

Declared return type: DECIMAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-6b67c4ea430effa9

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: DOUBLE) → DOUBLE
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-6b67c4ea430effa9

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | DOUBLE | not recorded |

Declared return type: DOUBLE. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-0cc980feccec9128

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: FLOAT) → FLOAT
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-0cc980feccec9128

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | FLOAT | not recorded |

Declared return type: FLOAT. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-62dda20454895ca2

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: TIME) → INTERVAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-62dda20454895ca2

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TIME | not recorded |

Declared return type: INTERVAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-d34dac020572fdfc

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: TIME WITH TIME ZONE) → INTERVAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-d34dac020572fdfc

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TIME WITH TIME ZONE | not recorded |

Declared return type: INTERVAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-01bfc708aff2c410

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: TIMESTAMP) → INTERVAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-01bfc708aff2c410

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TIMESTAMP | not recorded |

Declared return type: INTERVAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.

### overload-cb6d9371da2f6c56

Kind: aggregate. Parameter order: catalog-order.

```text
mad(x: TIMESTAMP WITH TIME ZONE) → INTERVAL
```

Link: /products/haybarn/functions/releases/haybarn-1.5.5-rc3/mad/#overload-cb6d9371da2f6c56

| Argument | Catalog type | Calling mode |
| --- | --- | --- |
| x | TIMESTAMP WITH TIME ZONE | not recorded |

Declared return type: INTERVAL. Variadic argument type: none declared.
Stability: CONSISTENT. Declared side effects: false.


## Guide recipes

No guide recipes.

## Engine catalog examples

Source examples may require additional data or extensions. Expressions are wrapped in SELECT; execution verification is not recorded.

Reported for: overload-c39710e6e0ee38ed, overload-9fce5475a616bea3, overload-6b67c4ea430effa9, overload-0cc980feccec9128, overload-62dda20454895ca2, overload-d34dac020572fdfc, overload-01bfc708aff2c410, overload-cb6d9371da2f6c56

```sql
SELECT mad(x);
```

## Runnable examples

Executed successfully in Haybarn WASM 1.5.5-rc3. Sample data and guide examples are separate from the original catalog.

```sql
SELECT mad(x)
FROM (VALUES
  (DATE '2026-06-01'),
  (DATE '2026-07-01'),
  (NULL)
) AS sample("x");
```

## Additional DuckDB documentation

- [Aggregate Functions](https://duckdb.org/docs/current/sql/functions/aggregates#madx)

## Observed availability

| Snapshot | Observed | Overloads | JSON |
| --- | --- | --- | --- |
| haybarn-1.5.5-rc3 | present | 8 | [reference](/products/haybarn/functions/api/v1/haybarn-1.5.5-rc3/functions/mad.json) |
| duckdb-1.5.5 | present | 8 | [reference](/products/haybarn/functions/api/v1/duckdb-1.5.5/functions/mad.json) |
| duckdb-1.4.4 | present | 8 | [reference](/products/haybarn/functions/api/v1/duckdb-1.4.4/functions/mad.json) |
| duckdb-1.3.2 | present | 8 | [reference](/products/haybarn/functions/api/v1/duckdb-1.3.2/functions/mad.json) |

Engine catalog documentation is derived from MIT-licensed Haybarn and DuckDB. [Notices](/third-party-notices.txt).
