Expressions, Functions, Operators
Component | Supported | Notes and limitations |
---|---|---|
Common statements | ✅ |
Component | Supported | Notes and limitations |
---|---|---|
WHERE | ✅ | |
HAVING | ✅ | |
LIMIT | ✅ | |
OFFSET | ✅ | |
GROUP BY | ✅ | Group-by columns can be referred to by their ordinal (e.g. 1 , 2 ), a MySQL dialect extension. |
ORDER BY | ✅ | Order-by columns can be referred to by their ordinal (e.g. 1 , 2 ), a MySQL dialect extension. |
Aggregate functions | ✅ | |
DISTINCT | ✅ | |
ALL | ✅ | |
Component | Supported | Notes and limitations |
---|---|---|
Tables and views | ✅ | |
Table and view aliases | ✅ | |
Joins | ✅ | LEFT OUTER , RIGHT OUTER , INNER , NATURAL , and CROSS JOINS are supported. FULL OUTER joins are not supported. |
Subqueries | ✅ | |
UNION | ✅ | |
Component | Supported | Notes and limitations |
---|---|---|
Common operators | ✅ | |
IF | ✅ | |
CASE | ✅ | |
NULLIF | ✅ | |
COALESCE | ✅ | |
IFNULL | ✅ | |
AND | ✅ | |
OR | ✅ | |
LIKE | ✅ | |
IN | ✅ | |
INTERVAL | ✅ | |
Scalar subqueries | ✅ | |
Column ordinal references | ✅ | |
Currently supporting 248 of 438 MySQL functions.
Most functions are simple to implement. If you need one that isn't implemented, please file an issue. We can fulfill most requests for new functions within 24 hours.
Component | Supported | Notes and limitations |
---|---|---|
% | ✅ | |
& | ✅ | |
` | ✅ | |
* | ✅ | |
+ | ✅ | |
->> | ✅ | |
-> | ✅ | |
- | ✅ | |
/ | ✅ | |
:= | ❌ | |
<< | ✅ | |
<=> | ✅ | Null-safe equals operator |
<= | ✅ | |
<> , != | ✅ | |
< | ✅ | |
= | ✅ | |
>= | ✅ | |
>> | ✅ | |
> | ✅ | |
^ | ✅ | |
ABS() | ✅ | |
ACOS() | ✅ | |
ADDDATE() | ❌ | |
ADDTIME() | ❌ | |
AES_DECRYPT() | ❌ | |
AES_ENCRYPT() | ❌ | |
AND | ✅ | |
ANY_VALUE() | ❌ | |
ARRAY_LENGTH() | ✅ | |
ASCII() | ✅ | |
ASIN() | ✅ | |
ASYMMETRIC_DECRYPT() | ❌ | |
ASYMMETRIC_DERIVE() | ❌ | |
ASYMMETRIC_ENCRYPT() | ❌ | |
ASYMMETRIC_SIGN() | ❌ | |
ASYMMETRIC_VERIFY() | ❌ | |
ATAN() | ✅ | |
ATAN2() | ❌ | |
AVG() | ✅ | |
BENCHMARK() | ❌ | |
BETWEEN ... AND ... | ✅ | |
BIN() | ✅ | |
BIN_TO_UUID() | ✅ | |
BIT_AND() | ✅ | |
BIT_COUNT() | ❌ | |
BIT_LENGTH() | ✅ | |
BIT_OR() | ✅ | `\ |
BIT_XOR() | ✅ | ^ is supported |
CAN_ACCESS_COLUMN() | ❌ | |
CAN_ACCESS_DATABASE() | ❌ | |
CAN_ACCESS_TABLE() | ❌ | |
CAN_ACCESS_VIEW() | ❌ | |
CASE | ✅ | |
CAST() | ✅ | Convert between types supported. Convert between charsets is not. |
CEIL() | ✅ | |
CEILING() | ✅ | |
CHAR() | ❌ | |
CHARACTER_LENGTH() | ✅ | |
CHARSET() | ❌ | |
CHAR_LENGTH() | ✅ | |
COALESCE() | ✅ | |
COERCIBILITY() | ❌ | |
COLLATION() | ❌ | |
COMPRESS() | ❌ | |
CONCAT() | ✅ | |
CONCAT_WS() | ✅ | |
CONNECTION_ID() | ✅ | |
CONV() | ✅ | |
CONVERT() | ✅ | Convert between types supported. Convert between charsets is not. |
CONVERT_TZ() | ❌ | |
COS() | ✅ | |
COT() | ✅ | |
COUNT() | ✅ | |
COUNT(DISTINCT) | ✅ | |
CRC32() | ✅ | |
CREATE_ASYMMETRIC_PRIV_KEY() | ❌ | |
CREATE_ASYMMETRIC_PUB_KEY() | ❌ | |
CREATE_DH_PARAMETERS() | ❌ | |
CREATE_DIGEST() | ❌ | |
CUME_DIST() | ❌ | |
CURDATE() | ✅ | |
CURRENT_DATE() | ✅ | |
CURRENT_ROLE() | ❌ | |
CURRENT_TIME() | ✅ | |
CURRENT_TIMESTAMP() | ✅ | |
CURRENT_USER() | ✅ | |
CURTIME() | ✅ | |
DATABASE() | ✅ | |
DATE() | ✅ | |
DATEDIFF() | ❌ | |
DATETIME() | ✅ | |
DATE_ADD() | ✅ | |
DATE_FORMAT() | ✅ | |
DATE_SUB() | ✅ | |
DAY() | ✅ | |
DAYNAME() | ✅ | |
DAYOFMONTH() | ✅ | |
DAYOFWEEK() | ✅ | |
DAYOFYEAR() | ✅ | |
DEFAULT() | ❌ | |
DEGREES() | ✅ | |
DENSE_RANK() | ✅ | |
DIV | ✅ | |
ELT() | ❌ | |
EXP() | ❌ | |
EXPLODE() | ✅ | |
EXPORT_SET() | ❌ | |
EXTRACT() | ✅ | |
ExtractValue() | ❌ | |
FIELD() | ❌ | |
FIND_IN_SET() | ✅ | |
FIRST() | ✅ | |
FIRST_VALUE() | ❌ | |
FLOOR() | ✅ | |
FORMAT() | ❌ | |
FORMAT_BYTES() | ❌ | |
FORMAT_PICO_TIME() | ❌ | |
FOUND_ROWS() | ✅ | |
FROM_BASE64() | ✅ | |
FROM_DAYS() | ❌ | |
FROM_UNIXTIME() | ❌ | |
GET_DD_COLUMN_PRIVILEGES() | ❌ | |
GET_DD_CREATE_OPTIONS() | ❌ | |
GET_DD_INDEX_SUB_PART_LENGTH() | ❌ | |
GET_FORMAT() | ❌ | |
GET_LOCK() | ✅ | |
GREATEST() | ✅ | |
GROUPING() | ❌ | |
GROUP_CONCAT() | ❌ | |
GTID_SUBSET() | ❌ | |
GTID_SUBTRACT() | ❌ | |
GeomCollection() | ✅ | |
GeometryCollection() | ✅ | |
HASHOF() | ✅ | Returns the hash of a reference, e.g. HASHOF("master") ) |
HEX() | ✅ | |
HOUR() | ✅ | |
ICU_VERSION() | ❌ | |
IF() | ✅ | |
IFNULL() | ✅ | |
IN() | ✅ | |
INET6_ATON() | ✅ | |
INET6_NTOA() | ✅ | |
INET_ATON() | ✅ | |
INET_NTOA() | ✅ | |
INSERT() | ❌ | |
INSTR() | ✅ | |
INTERVAL() | ✅ | |
IS NOT NULL | ✅ | |
IS NOT | ✅ | |
IS NULL | ✅ | |
ISNULL() | ❌ | |
IS_BINARY() | ✅ | |
IS_FREE_LOCK() | ✅ | |
IS_IPV4() | ✅ | |
IS_IPV4_COMPAT() | ✅ | |
IS_IPV4_MAPPED() | ✅ | |
IS_IPV6() | ✅ | |
IS_USED_LOCK() | ✅ | |
IS_UUID() | ❌ | |
IS | ✅ | |
JSON_ARRAY() | ✅ | |
JSON_ARRAYAGG() | ✅ | |
JSON_ARRAY_APPEND() | ✅ | |
JSON_ARRAY_INSERT() | ✅ | |
JSON_CONTAINS() | ✅ | |
JSON_CONTAINS_PATH() | ✅ | |
JSON_DEPTH() | ❌ | |
JSON_EXTRACT() | ✅ | |
JSON_INSERT() | ✅ | |
JSON_KEYS() | ❌ | |
JSON_LENGTH() | ❌ | |
JSON_MERGE() | ❌ | |
JSON_MERGE_PATCH() | ❌ | |
JSON_MERGE_PRESERVE() | ✅ | |
JSON_OBJECT() | ✅ | |
JSON_OBJECTAGG() | ✅ | |
JSON_OVERLAPS() | ❌ | |
JSON_PRETTY() | ❌ | |
JSON_QUOTE() | ❌ | |
JSON_REMOVE() | ✅ | |
JSON_REPLACE() | ✅ | |
JSON_SCHEMA_VALID() | ❌ | |
JSON_SCHEMA_VALIDATION_REPORT() | ❌ | |
JSON_SEARCH() | ❌ | |
JSON_SET() | ✅ | |
JSON_STORAGE_FREE() | ❌ | |
JSON_STORAGE_SIZE() | ❌ | |
JSON_TABLE() | ✅ | FOR ORDINALITY and NESTED are not supported yet. |
JSON_TYPE() | ❌ | |
JSON_UNQUOTE() | ✅ | |
JSON_VALID() | ❌ | |