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:
ABSACOSADDDATEADDTIMEAES_DECRYPTAES_ENCRYPTASCIIASINATANATAN2AVGBINBIT_ANDBIT_COUNTBIT_LENGTHBIT_ORBIT_XORCASECASTCEILCEILINGCHAR FunctionCHAR_LENGTHCHARACTER_LENGTHCHARSETCOALESCECOMPRESSCONCATCONCAT_WSCONNECTION_IDCONTAINSCONVCONVERTCONVERT_TZCOSCOTCOUNTXpand allows multiple inputs to the
COUNT()function, where some versions of MySQL and MariaDB do notXpand will include trailing
NULLvalues in the results ofCOUNT(), while MySQL does not
COUNT DISTINCTCRC32CURDATECURRENT_DATECURRENT_ROLECURRENT_TIMECURRENT_TIMESTAMPCURRENT_USERCURTIMEDATABASEDATE FUNCTIONDATE_ADDDATE_FORMATDATE_SUBDATEDIFFDAYDAYNAMEDAYOFMONTHDAYOFWEEKDAYOFYEARDECODEDIVELTENCODEENCRYPTEQUALSEXPEXPORT_SETFIELDFIND_IN_SETFLOORFORMATFOUND_ROWSFROM_BASE64FROM_DAYSFROM_UNIXTIMEGET_FORMATGET_LOCKUse of
GET_LOCKwith Statement-based Replication is considered unsafe, though Xpand does not raise an error. MySQL raises an error.
GREATESTGROUP_CONCATMultiple
GROUP_CONCATstatements are supported, but only one ORDER BY is allowed per select statement
HEXHOURIFIFNULLININSERT FunctionINSTRINTERVALIS_FREE_LOCKIS_USED_LOCKISNULLJSON_ARRAYJSON_CONTAINS_PATHJSON_DEPTHJSON_EXTRACTJSON_KEYSJSON_LENGTHJSON_OBJECTJSON_QUOTEJSON_SEARCHJSON_TYPEJSON_UNQUOTEJSON_VALIDLAST_DAYLAST_INSERT_IDLAST_VALUELCASELEASTLEFTLENGTHLIKELINESTRINGLNLOCALTIMELOCALTIMESTAMPLOCATEIn Xpand,
LOCATE()returnsNULLwhen position is provided asNULL. MySQL returns 0 in such instances.
LOGLOG10LOG2LOWERLPADLTRIMMAKE_SETMAKEDATEMAKETIMEMAXMD5MICROSECONDMIDMINMINUTEMODMONTHMONTHNAMENAME_CONSTNEXTVALNOWNULLIFOCTORDPASSWORDPERIOD_ADDThe results of this function do not match MySQL when year boundaries are being crossed or approached.
PERIOD_DIFFPIPOWPOWERQUARTERQUOTERADIANSRANDDoes not accept an argument as seed.
REGEXPRELEASE_LOCKREPEAT FunctionREPLACE FunctionREVERSERIGHTRLIKEROUNDROW_COUNTWhen 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_COUNTdoes not reflect the number of rows affected by a stored procedureROW_
COUNT does not match mysql behavior for DDL (e.g. CREATE TABLEthenSELECT 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.
RPADRTRIMSCHEMASEC_TO_TIMESECONDSESSION_USERSHASHA1SHA2SIGNSINSLEEPSQRTSTDSTDDEVSTDDEV_POPSTDDEV_SAMPSTR_TO_DATESTRCMPSUBDATESUBSTRSUBSTRINGSUBSTRING_INDEXSUBTIMESUMSYSDATEDoes not reflect time zone settings; always returns UTC.
SYSTEM_USERTANTIME functionTIME_FORMATTIME_TO_SECTIMEDIFFTIMESTAMP FUNCTIONTIMESTAMPADDTIMESTAMPDIFFTO_BASE64TO_DAYSTO_SECONDSTRIMTRUNCATEUCASEUNCOMPRESSUNCOMPRESSED_LENGTHUNHEXUNIX_TIMESTAMPUPPERUSERUTC_DATEUTC_TIMEUTC_TIMESTAMPUUIDUUID_SHORTVALUES or VALUEVAR_POPVAR_SAMPVARIANCEVERSIONWEEKWEEKDAYWEEKOFYEARXORYEARYEARWEEK
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_RANKPERCENTILE_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()
