Built-in Functions for MariaDB Xpand
This page is part of MariaDB's Documentation.
The parent of this page is: Built-in Functions
Topics on this page:
Overview
This page describes Xpand's support for SQL functions.
Supported Functions
Xpand supports the following functions:
ABS
ACOS
ADDDATE
ADDTIME
AES_DECRYPT
AES_ENCRYPT
ASCII
ASIN
ATAN
ATAN2
AVG
BIN
BIT_AND
BIT_COUNT
BIT_LENGTH
BIT_OR
BIT_XOR
CASE
CAST
CEIL
CEILING
CHAR Function
CHAR_LENGTH
CHARACTER_LENGTH
CHARSET
COALESCE
COMPRESS
CONCAT
CONCAT_WS
CONNECTION_ID
CONTAINS
CONV
CONVERT
CONVERT_TZ
COS
COT
COUNT
Xpand allows multiple inputs to the
COUNT()
function, where some versions of MySQL and MariaDB do notXpand will include trailing
NULL
values in the results ofCOUNT()
, while MySQL does not
COUNT DISTINCT
CRC32
CURDATE
CURRENT_DATE
CURRENT_ROLE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
CURTIME
DATABASE
DATE FUNCTION
DATE_ADD
DATE_FORMAT
DATE_SUB
DATEDIFF
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
DECODE
DIV
ELT
ENCODE
ENCRYPT
EQUALS
EXP
EXPORT_SET
FIELD
FIND_IN_SET
FLOOR
FORMAT
FOUND_ROWS
FROM_BASE64
FROM_DAYS
FROM_UNIXTIME
GET_FORMAT
GET_LOCK
Use of
GET_LOCK
with Statement-based Replication is considered unsafe, though Xpand does not raise an error. MySQL raises an error.
GREATEST
GROUP_CONCAT
Multiple
GROUP_CONCAT
statements are supported, but only one ORDER BY is allowed per select statement
HEX
HOUR
IF
IFNULL
IN
INSERT Function
INSTR
INTERVAL
IS_FREE_LOCK
IS_USED_LOCK
ISNULL
JSON_ARRAY
JSON_CONTAINS_PATH
JSON_DEPTH
JSON_EXTRACT
JSON_KEYS
JSON_LENGTH
JSON_OBJECT
JSON_QUOTE
JSON_SEARCH
JSON_TYPE
JSON_UNQUOTE
JSON_VALID
LAST_DAY
LAST_INSERT_ID
LAST_VALUE
LCASE
LEAST
LEFT
LENGTH
LIKE
LINESTRING
LN
LOCALTIME
LOCALTIMESTAMP
LOCATE
In Xpand,
LOCATE()
returnsNULL
when position is provided asNULL
. MySQL returns 0 in such instances.
LOG
LOG10
LOG2
LOWER
LPAD
LTRIM
MAKE_SET
MAKEDATE
MAKETIME
MAX
MD5
MICROSECOND
MID
MIN
MINUTE
MOD
MONTH
MONTHNAME
NAME_CONST
NEXTVAL
NOW
NULLIF
OCT
ORD
PASSWORD
PERIOD_ADD
The results of this function do not match MySQL when year boundaries are being crossed or approached.
PERIOD_DIFF
PI
POW
POWER
QUARTER
QUOTE
RADIANS
RAND
Does not accept an argument as seed.
REGEXP
RELEASE_LOCK
REPEAT Function
REPLACE Function
REVERSE
RIGHT
RLIKE
ROUND
ROW_COUNT
When updating a row, if the values are not being changed (e.g. (1,1) → (1,1)) mysql reports 0, Xpand returns 1
When replacing a row with an identical row, mysql reports 1, Xpand returns 2
On Xpand,
ROW_COUNT
does not reflect the number of rows affected by a stored procedureROW_
COUNT does not match mysql behavior for DDL (e.g. CREATE TABLE
thenSELECT ROW_COUNT
)When committing an explicit transaction, Xpand reports the
ROW_COUNT()
value for the most recent statement before theCOMMIT
. In other words, row_count behaves as if there was no COMMIT
.
RPAD
RTRIM
SCHEMA
SEC_TO_TIME
SECOND
SESSION_USER
SHA
SHA1
SHA2
SIGN
SIN
SLEEP
SQRT
STD
STDDEV
STDDEV_POP
STDDEV_SAMP
STR_TO_DATE
STRCMP
SUBDATE
SUBSTR
SUBSTRING
SUBSTRING_INDEX
SUBTIME
SUM
SYSDATE
Does not reflect time zone settings; always returns UTC.
SYSTEM_USER
TAN
TIME function
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP FUNCTION
TIMESTAMPADD
TIMESTAMPDIFF
TO_BASE64
TO_DAYS
TO_SECONDS
TRIM
TRUNCATE
UCASE
UNCOMPRESS
UNCOMPRESSED_LENGTH
UNHEX
UNIX_TIMESTAMP
UPPER
USER
UTC_DATE
UTC_TIME
UTC_TIMESTAMP
UUID
UUID_SHORT
VALUES or VALUE
VAR_POP
VAR_SAMP
VARIANCE
VERSION
WEEK
WEEKDAY
WEEKOFYEAR
XOR
YEAR
YEARWEEK
For a full list of built-in functions supported by Xpand, see "Functions for MariaDB Xpand".
Unsupported Functions
Xpand does not support the following functions:
ANALYSE()
AREA()
AsBinary()
AsText()
AsWKB()
AsWKT()
BENCHMARK()
BINLOG_GTID_POS()
BOUNDARY()
BUFFER()
CENTROID()
CHARSET()
CHR()
COERCIBILITY()
COLLATION()
COLUMN_ADD()
COLUMN_CHECK()
COLUMN_CREATE()
COLUMN_DELETE()
COLUMN_EXISTS()
COLUMN_GET()
COLUMN_JSON()
COLUMN_LIST()
CONVEXHULL()
CROSSES()
CUME_DIST()
CURRENT_USER()
DECODE_HISTOGRAM()
DEFAULT()
DEGREES()
DENSE_RANK()
DES_DECRYPT()
DES_ENCRYPT()
DIMENSION()
DISJOINT()
ENDPOINT()
ENVELOPE()
ExteriorRing()
EXTRACT()
EXTRACTVALUE()
GeomCollFromText()
GeomCollFromWKB()
GEOMETRYCOLLECTION()
GeometryCollectionFromText()
GeometryCollectionFromWKB()
GeometryFromText()
GeometryFromWKB()
GeometryN()
GeometryType()
GeomFromText()
GeomFromWKB()
GLENGTH()
GET_FORMAT()
INET_ATON()
,INET_NTOA()
,INET6_ATON()
,INET6_NTOA()
InteriorRingN()
INTERSECTS()
IS_IPV4()
,IS_IPV4_COMPAT()
,IS_IPV4_MAPPED()
,IS_IPV6()
IsClosed()
IsEmpty()
IsRing()
IsSimple()
JSON_ARRAY_APPEND()
JSON_ARRAY_INSERT()
JSON_COMPACT()
JSON_CONTAINS()
JSON_DETAILED()
JSON_EXISTS()
JSON_INSERT()
JSON_LOOSE()
JSON_MERGE()
JSON_QUERY()
JSON_REMOVE()
JSON_REPLACE()
JSON_SET()
JSON_VALUE()
LAST_VAL()
LineFromText()
LineFromWKB()
LineStringFromText()
LineStringFromWKB()
LOAD_FILE()
LOCK TABLES()
LOAD_FILE()
MAKEDATE()
MASTER_GTID_WAIT()
MASTER_POS_WAIT()
MATCH AGAINST()
MBRContains()
MBRDisjoint()
MBREqual()
MBRIntersects()
MBROverlaps()
MBRTouches()
MBRWithin()
MEDIAN()
MLineFromText()
MLineFromWKB()
MPointFromText()
MPointFromWKB()
MPolyFromText()
MPolyFromWKB()
MULTILINESTRING()
MultiLineStringFromText()
MultiLineStringFromWKB()
MULTIPOINT()
MultiPointFromText()
MultiPointFromWKB()
MULTIPOLYGON()
MultiPolygonFromText()
MultiPolygonFromWKB()
NTILE()
NumGeometries()
NumInteriorRings()
NumPoints()
OCTET_LENGTH()
OLD_PASSWORD()
OVERLAPS()
PERCENT_RANK
PERCENTILE_CONT()
PERCENTILE_DISC()
POINT()
PointFromText()
PointFromWKB()
PointN()
PointOnSurface()
PolyFromText()
PolyFromWKB()
POLYGON()
PolygonFromText()
PolygonFromWKB()
POSITION()
RANK()
REGEXP_INSTR()
REGEXP_REPLACE()
REGEXP_SUBSTR()
ROW_NUMBER()
SESSION_USER()
SETVAL()
SOUNDEX()
SOUNDS LIKE()
SPACE()
SPIDER_BG_DIRECT_SQL()
SPIDER_COPY_TABLES()
SPIDER_DIRECT_SQL()
SPIDER_FLUSH_TABLE_MON_CACHE()
SRID()
ST_AREA()
ST_AsBinary()
ST_AsText()
ST_AsWKB()
ST_ASWKT()
ST_BOUNDARY()
ST_BUFFER()
ST_CENTROID()
ST_CONTAINS()
ST_CONVEXHULL()
ST_CROSSES()
ST_DIFFERENCE()
ST_DIMENSION()
ST_DISJOINT()
ST_DISTANCE()
ST_ENDPOINT()
ST_ENVELOPE()
ST_EQUALS()
ST_ExteriorRing()
ST_GeomCollFromText()
ST_GeomCollFromWKB()
ST_GeometryCollectionFromText()
ST_GeometryCollectionFromWKB()
ST_GeometryFromText()
ST_GeometryFromWKB()
ST_GEOMETRYN()
ST_GEOMETRYTYPE()
ST_GeomFromText()
ST_GeomFromWKB()
ST_InteriorRingN()
ST_INTERSECTION()
ST_INTERSECTS()
ST_ISCLOSED()
ST_ISEMPTY()
ST_IsRing()
ST_IsSimple()
ST_LENGTH()
ST_LineFromText()
ST_LineFromWKB()
ST_LineStringFromText()
ST_LineStringFromWKB()
ST_NUMGEOMETRIES()
ST_NumInteriorRings()
ST_NUMPOINTS()
ST_OVERLAPS()
ST_PointFromText()
ST_PointFromWKB()
ST_POINTN()
ST_POINTONSURFACE()
ST_PolyFromText()
ST_PolyFromWKB()
ST_PolygonFromText()
ST_PolygonFromWKB()
ST_RELATE()
ST_SRID()
ST_STARTPOINT()
ST_SYMDIFFERENCE()
ST_TOUCHES()
ST_UNION()
ST_WITHIN()
ST_X()
ST_Y()
STARTPOINT()
TO_SECONDS()
TOUCHES()
UPDATEXML()
WEIGHT_STRING()
WITHIN()
X()
Y()