本文展示了PolarDB-X 1.0支持的函数及部分不支持函数的列表。
PolarDB-X 1.0支持的函数分为日期时间函数、字符串函数、转换函数、聚合函数、数学函数、比较函数、位函数、控制流程函数、信息函数、加密和压缩函数以及其他函数; JSON函数和地理信息函数的下推执行。
以下函数出现在WHERE条件、UPDATE语句中,PolarDB-X 1.0不支持: LAST_INSERT_ID(),CONNECTION_ID(),CURRENT_USER(),CURRENT_USER DATABASE(),SCHEMA(),USER(),VERSION()。
与MySQL5.7相比,PolarDB-X 1.0不支持以下几类函数:
已经支持的几类函数中,有如下函数不支持:
| 类别 | 函数名 | 描述 |
| 日期时间函数 | CONVERT_TZ() | Convert from one time zone to another |
| GET_FORMAT() | Return a date format string | |
| LOCALTIME(), LOCALTIME | Synonym for NOW() | |
| LOCALTIMESTAMP, LOCALTIMESTAMP() | Synonym for NOW() | |
| 字符串函数 | FIND_IN_SET() | Return the index position of the first argument within the second argument |
| LOAD_FILE() | Load the named file | |
| MATCH | Perform full-text search | |
| SOUNDS LIKE | Compare sounds | |
| 聚合函数 | BIT_AND( | Return bitwise AND |
| BIT_OR() | Return bitwise OR | |
| BIT_XOR() | Return bitwise XOR | |
| GROUP_CONCAT() | Return a concatenated string | |
| STD() | Return the population standard deviation | |
| STDDEV() | Return the population standard deviation | |
| STDDEV_POP() | Return the population standard deviation | |
| STDDEV_SAMP() | Return the sample standard deviation | |
| VAR_POP() | Return the population standard variance | |
| VAR_SAMP() | Return the sample variance | |
| VARIANCE() | Return the population standard variance | |
| 数学函数 | RADIANS() | Return argument converted to radians |
| 信息函数 | BENCHMARK() | Repeatedly execute an expression |
| CHARSET() | Return the character set of the argument | |
| COERCIBILITY() | Return the collation coercibility value of the string argument | |
| COLLATION() | Return the collation of the string argument | |
| FOUND_ROWS() | For a SELECT with a LIMIT clause, the number of rows that would be returned were there no LIMIT clause | |
| ROW_COUNT() | The number of rows updated | |
| 加密和压缩函数 | ASYMMETRIC_DECRYPT() | Decrypt ciphertext using private or public key |
| ASYMMETRIC_DERIVE() | Derive symmetric key from asymmetric keys | |
| ASYMMETRIC_ENCRYPT() | Encrypt cleartext using private or public key | |
| ASYMMETRIC_SIGN() | Generate signature from digest | |
| ASYMMETRIC_VERIFY() | Verify that signature matches digest | |
| CREATE_ASYMMETRIC_PRIV_KEY() | Create private key | |
| CREATE_ASYMMETRIC_PUB_KEY() | Create public key | |
| CREATE_DH_PARAMETERS() | Generate shared DH secret | |
| CREATE_DIGEST() | Generate digest from string | |
| DECODE() (deprecated 5.7.2) | Decodes a string encrypted using ENCODE() | |
| DES_DECRYPT() (deprecated 5.7.6) | Decrypt a string | |
| DES_ENCRYPT() (deprecated 5.7.6) | Encrypt a string | |
| ENCODE() (deprecated 5.7.2) | Encode a string | |
| ENCRYPT() (deprecated 5.7.6) | Encrypt a string | |
| OLD_PASSWORD() | Return the value of the pre-4.1 implementation of PASSWORD | |
| PASSWORD() (deprecated 5.7.6) | Calculate and return a password string | |
| RANDOM_BYTES() | Return a random byte vector | |
| SHA1(), SHA() | Calculate an SHA-1 160-bit checksum | |
| SHA2() | Calculate an SHA-2 checksum | |
| VALIDATE_PASSWORD_STRENGTH() | Determine strength of password | |
| 其他函数 | ANY_VALUE() | Suppress ONLY_FULL_GROUP_BY value rejection |
| DEFAULT() | Return the default value for a table column | |
| GET_LOCK() | Get a named lock | |
| INET_ATON() | Return the numeric value of an IP address | |
| INET_NTOA() | Return the IP address from a numeric value | |
| INET6_ATON() | Return the numeric value of an IPv6 address | |
| INET6_NTOA() | Return the IPv6 address from a numeric value | |
| IS_FREE_LOCK() | Whether the named lock is free | |
| IS_IPV4() | Whether argument is an IPv4 address | |
| IS_IPV4_COMPAT() | Whether argument is an IPv4-compatible address | |
| IS_IPV4_MAPPED() | Whether argument is an IPv4-mapped address | |
| IS_IPV6() | Whether argument is an IPv6 address | |
| IS_USED_LOCK() | Whether the named lock is in use; return connection identifier if true | |
| MASTER_POS_WAIT() | Block until the slave has read and applied all updates up to the specified position | |
| NAME_CONST() | Causes the column to have the given name |