Topik ini menjelaskan fungsi yang didukung oleh PolarDB-X 1.0 serta beberapa fungsi yang tidak didukung oleh sistem ini.
PolarDB-X 1.0 mendukung berbagai jenis fungsi, termasuk fungsi tanggal dan waktu, fungsi string, fungsi konversi, fungsi agregat, fungsi matematika, fungsi perbandingan, fungsi bit, fungsi kontrol alur, fungsi informasi, fungsi enkripsi, fungsi kompresi, serta fungsi lainnya. Selain itu, fungsi JSON dan fungsi informasi geografis dapat didorong ke bawah untuk dieksekusi.
Dalam klausa WHERE atau pernyataan UPDATE, PolarDB-X 1.0 tidak mendukung fungsi berikut: LAST_INSERT_ID(), CONNECTION_ID(), CURRENT_USER(), CURRENT_USER DATABASE(), SCHEMA(), USER(), dan VERSION().
PolarDB-X 1.0 juga tidak mendukung beberapa fungsi yang tersedia di MySQL 5.7:
- Fungsi pencarian teks lengkap
- Fungsi XML
- Fungsi pengenal transaksi global (GTID)
- Fungsi enkripsi perusahaan
Beberapa fungsi yang secara teori termasuk dalam jenis fungsi yang didukung, namun tidak didukung oleh sistem ini.
| Tipe | Fungsi | Deskripsi |
| Fungsi tanggal dan waktu | CONVERT_TZ() | Mengonversi dari satu zona waktu ke zona waktu lain |
| GET_FORMAT() | Mengembalikan string format tanggal | |
| LOCALTIME(), LOCALTIME | Sinonim untuk NOW() | |
| LOCALTIMESTAMP, LOCALTIMESTAMP() | Sinonim untuk NOW() | |
| Fungsi string | FIND_IN_SET() | Mengembalikan posisi indeks argumen pertama di dalam argumen kedua |
| LOAD_FILE() | Memuat file bernama | |
| MATCH | Melakukan pencarian teks lengkap | |
| SOUNDS LIKE | Membandingkan suara | |
| Fungsi agregat | BIT_AND( | Mengembalikan AND bitwise |
| BIT_OR() | Mengembalikan OR bitwise | |
| BIT_XOR() | Mengembalikan XOR bitwise | |
| GROUP_CONCAT() | Mengembalikan string tergabung | |
| STD() | Mengembalikan deviasi standar populasi | |
| STDDEV() | Mengembalikan deviasi standar populasi | |
| STDDEV_POP() | Mengembalikan deviasi standar populasi | |
| STDDEV_SAMP() | Mengembalikan deviasi standar sampel | |
| VAR_POP() | Mengembalikan varians standar populasi | |
| VAR_SAMP() | Mengembalikan varians sampel | |
| VARIANCE() | Mengembalikan varians standar populasi | |
| Fungsi matematika | RADIANS() | Mengembalikan argumen yang dikonversi ke radian |
| Fungsi informasi | BENCHMARK() | Menjalankan ekspresi secara berulang |
| CHARSET() | Mengembalikan set karakter dari argumen | |
| COERCIBILITY() | Mengembalikan nilai koersibilitas kolasi dari argumen string | |
| COLLATION() | Mengembalikan kolasi dari argumen string | |
| FOUND_ROWS() | Untuk SELECT dengan klausa LIMIT, jumlah baris yang akan dikembalikan jika tidak ada klausa LIMIT | |
| ROW_COUNT() | Jumlah baris yang diperbarui | |
| Fungsi enkripsi dan fungsi kompresi | ASYMMETRIC_DECRYPT() | Mendekripsi teks sandi menggunakan kunci privat atau publik |
| ASYMMETRIC_DERIVE() | Menurunkan kunci simetris dari kunci asimetris | |
| ASYMMETRIC_ENCRYPT() | Mengenkripsi teks jelas menggunakan kunci privat atau publik | |
| ASYMMETRIC_SIGN() | Menghasilkan tanda tangan dari digest | |
| ASYMMETRIC_VERIFY() | Memverifikasi bahwa tanda tangan cocok dengan digest | |
| CREATE_ASYMMETRIC_PRIV_KEY() | Membuat kunci privat | |
| CREATE_ASYMMETRIC_PUB_KEY() | Membuat kunci publik | |
| CREATE_DH_PARAMETERS() | Menghasilkan rahasia DH bersama | |
| CREATE_DIGEST() | Menghasilkan digest dari string | |
| DECODE() (usang 5.7.2) | Mendekode string yang dienkripsi menggunakan ENCODE() | |
| DES_DECRYPT() (usang 5.7.6) | Mendekripsi string | |
| DES_ENCRYPT() (usang 5.7.6) | Mengenkripsi string | |
| ENCODE() (usang 5.7.2) | Mengkode string | |
| ENCRYPT() (usang 5.7.6) | Mengenkripsi string | |
| OLD_PASSWORD() | Mengembalikan nilai implementasi pra-4.1 dari PASSWORD | |
| PASSWORD() (usang 5.7.6) | Menghitung dan mengembalikan string kata sandi | |
| RANDOM_BYTES() | Mengembalikan vektor byte acak | |
| SHA1(), SHA() | Menghitung checksum SHA-1 160-bit | |
| SHA2() | Menghitung checksum SHA-2 | |
| VALIDATE_PASSWORD_STRENGTH() | Menentukan kekuatan kata sandi | |
| Fungsi lainnya | ANY_VALUE() | Menekan penolakan nilai ONLY_FULL_GROUP_BY |
| DEFAULT() | Mengembalikan nilai default untuk kolom tabel | |
| GET_LOCK() | Mendapatkan kunci bernama | |
| INET_ATON() | Mengembalikan nilai numerik dari alamat IP | |
| INET_NTOA() | Mengembalikan alamat IP dari nilai numerik | |
| INET6_ATON() | Mengembalikan nilai numerik dari alamat IPv6 | |
| INET6_NTOA() | Mengembalikan alamat IPv6 dari nilai numerik | |
| IS_FREE_LOCK() | Apakah kunci bernama bebas | |
| IS_IPV4() | Apakah argumen adalah alamat IPv4 | |
| IS_IPV4_COMPAT() | Apakah argumen adalah alamat IPv4-kompatibel | |
| IS_IPV4_MAPPED() | Apakah argumen adalah alamat IPv4-mapped | |
| IS_IPV6() | Apakah argumen adalah alamat IPv6 | |
| IS_USED_LOCK() | Apakah kunci bernama sedang digunakan; mengembalikan pengenal koneksi jika benar | |
| MASTER_POS_WAIT() | Blokir hingga slave telah membaca dan menerapkan semua pembaruan hingga posisi tertentu | |
| NAME_CONST() | Menyebabkan kolom memiliki nama yang diberikan |