> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/community-server/about/compatibility-and-differences/function-differences-between-mariadb-and-mysql/function-differences-between-mariadb-and-mysql-unmaintained-series/function-differences-between-mariadb-102-and-mysql-57.md).

# Function Differences Between MariaDB 10.2 and MySQL 5.7

The following is a list of all function differences between [MariaDB 10.2](/docs/release-notes/community-server/old-releases/10.2/what-is-mariadb-102.md) and MySQL 5.7. It is based on functions available in the stable versions MySQL 5.7.18 and [MariaDB 10.2.38](/docs/release-notes/community-server/old-releases/10.2/10.2.38.md).

For a description of all differences, see [Incompatibilities and Feature Differences Between MariaDB 10.2 and MySQL 5.7](/docs/release-notes/community-server/about/compatibility-and-differences/incompatibilities-and-feature-differences-between-mariadb-and-mysql-unmaint/incompatibilities-and-feature-differences-between-mariadb-10-2-and-mysql-5.md).

## Present in MariaDB Only

### Dynamic columns

* [COLUMN\_ADD](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_add.md)
* [COLUMN\_CHECK](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_check.md)
* [COLUMN\_CREATE](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_create.md)
* [COLUMN\_DELETE](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_delete.md)
* [COLUMN\_EXISTS](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_exists.md)
* [COLUMN\_GET](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_get.md)
* [COLUMN\_JSON](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_json.md)
* [COLUMN\_LIST](/docs/server/reference/sql-functions/special-functions/dynamic-columns-functions/column_list.md)

### JSON

* [JSON\_COMPACT](/docs/server/reference/sql-functions/special-functions/json-functions/json_compact.md)
* [JSON\_DETAILED](/docs/server/reference/sql-functions/special-functions/json-functions/json_detailed.md)
* [JSON\_EXISTS](/docs/server/reference/sql-functions/special-functions/json-functions/json_exists.md)
* [JSON\_LOOSE](/docs/server/reference/sql-functions/special-functions/json-functions/json_loose.md)
* [JSON\_MERGE\_PATCH](/docs/server/reference/sql-functions/special-functions/json-functions/json_merge_patch.md)
* [JSON\_MERGE\_PRESERVE](/docs/server/reference/sql-functions/special-functions/json-functions/json_merge_preserve.md)
* [JSON\_QUERY](/docs/server/reference/sql-functions/special-functions/json-functions/json_query.md)
* [JSON\_VALUE](/docs/server/reference/sql-functions/special-functions/json-functions/json_value.md)

### Regular Expressions

* [REGEXP\_INSTR](/docs/server/reference/sql-functions/string-functions/regular-expressions-functions/regexp_instr.md)
* [REGEXP\_REPLACE](/docs/server/reference/sql-functions/string-functions/regular-expressions-functions/regexp_replace.md)
* [REGEXP\_SUBSTR](/docs/server/reference/sql-functions/string-functions/regular-expressions-functions/regexp_substr.md)

### Window Functions

* [CUME\_DIST](/docs/server/reference/sql-functions/special-functions/window-functions/cume_dist.md)
* [DENSE\_RANK](/docs/server/reference/sql-functions/special-functions/window-functions/dense_rank.md)
* [LAG](/docs/server/reference/sql-functions/special-functions/window-functions/lead.md)
* [LAST\_VALUE](/docs/server/reference/sql-functions/secondary-functions/information-functions/last_value.md)
* [LEAD](/docs/server/reference/sql-functions/special-functions/window-functions/lead.md)
* [NTH\_VALUE](/docs/server/reference/sql-functions/special-functions/window-functions/nth_value.md)
* [NTILE](/docs/server/reference/sql-functions/special-functions/window-functions/ntile.md)
* [PERCENT\_RANK](/docs/server/reference/sql-functions/special-functions/window-functions/percent_rank.md)
* [RANK](/docs/server/reference/sql-functions/special-functions/window-functions/rank.md)
* [ROW\_NUMBER](/docs/server/reference/sql-functions/special-functions/window-functions/row_number.md)

## Present in MySQL Only

### GTID

MariaDB and MySQL have differing [GTID](/docs/server/ha-and-performance/standard-replication/gtid.md) implementations.

* GTID\_SUBSET
* GTID\_SUBTRACT
* WAIT\_FOR\_EXECUTED\_GTID\_SET
* WAIT\_UNTIL\_SQL\_THREAD\_AFTER\_GTIDS()

### Geographic

* DISTANCE
* MBRCOVEREDBY
* ST\_BUFFER\_STRATEGY
* ST\_GeoHash
* ST\_IsValid
* ST\_LatFromGeoHash
* ST\_LongFromGeoHash
* ST\_PointFromGeoHash
* ST\_SIMPLIFY
* ST\_VALIDATE

### Miscellaneous

* ANY\_VALUE
* RANDOM\_BYTES
* RELEASE\_ALL\_LOCKS
* VALIDATE\_PASSWORD\_STRENGTH

## See Also

* [Incompatibilities and Feature Differences Between MariaDB 10.2 and MySQL 5.7](/docs/release-notes/community-server/about/compatibility-and-differences/incompatibilities-and-feature-differences-between-mariadb-and-mysql-unmaint/incompatibilities-and-feature-differences-between-mariadb-10-2-and-mysql-5.md)
* [System Variable Differences Between MariaDB 10.2 and MySQL 5.7](/docs/release-notes/community-server/about/compatibility-and-differences/system-variable-differences-between-mariadb-and-mysql/system-variable-differences-between-mariadb-and-mysql-unmaintained-series/system-variable-differences-between-mariadb-10-2-and-mysql-5-7.md)
* [Function Differences Between MariaDB 10.3 and MySQL 5.7](/docs/release-notes/community-server/about/compatibility-and-differences/function-differences-between-mariadb-and-mysql/function-differences-between-mariadb-and-mysql-unmaintained-series/function-differences-between-mariadb-103-and-mysql-57.md)
* [Function Differences Between MariaDB 10.2 and MySQL 5.6](/docs/release-notes/community-server/about/compatibility-and-differences/function-differences-between-mariadb-and-mysql/function-differences-between-mariadb-and-mysql-unmaintained-series/function-differences-between-mariadb-102-and-mysql-56.md)

{% @marketo/form formid="4316" formId="4316" %}
