MariaDB Features Not Available in SQL Server

Some MariaDB features are not available in SQL Server.

At first glance, it is not important to know about those features to migrate from SQL Server to MariaDB. However, this is not the case. Using MariaDB features that are not in SQL Server allows one to obtain more advantages from the migration, getting the most from MariaDB.

This page has a list of MariaDB features that are not supported in SQL Server. The list is not exhaustive.

Plugin Architecture

SQL

  • The sql_mode variable determines in which cases an SQL statement should fail with an error, and in which cases it should succeed with a warning even if it is not entirely correct. For example, when a statement tries to insert a string in a column which is not big enough to contain it, it could fail, or it could insert a truncated string and emit a warning. It is a tradeoff between reliability and flexibility.
    • SQL_MODE=MSSQL allows one to use a small subset of SQL Server proprietary syntax.
  • The CREATE ... IF EXISTS, CREATE OR REPLACE, DROP ... IF NOT EXISTS options are supported for most DDL statements.
  • SHOW statements.
  • SHOW CREATE statements.
  • SHOW PROCESSLIST and PERFORMANCE_SCHEMA THREAD table provide much richer information, compared to SQL Server sp_who() and sp_who2() procedures.
  • CHECKSUM TABLE statement.
  • PL/SQL support (only for stored procedures and stored functions).
  • Row constructors.
  • BEFORE triggers.
  • HANDLER statements, to scroll table rows ordered by an index or in their physical order.
  • DO statement, to call functions without returning a result set.
  • BENCHMARK() function, to measure the speed of an SQL expression.

See also Syntax Differences between MariaDB and SQL Server.

Types

See also SQL Server and MariaDB Types Comparison.

JSON

For compatibility with some other database systems, MariaDB supports the JSON pseudo-type. However, it is just an alias for:

LONGTEXT CHECK (JSON_VALID(column_name))

JSON_VALID() is the MariaDB equivalent of SQL Server's ISJSON().

Features

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.

© 2021 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/mariadb-features-not-available-in-sql-server/