Ce face VERSION()
VERSION() spune ce versiune de MySQL rulează pe server. Textul poate avea și un sufix, de exemplu 8.0.36-log sau 8.4.6-0ubuntu, în funcție de cum a fost instalat serverul. Aceeași valoare se găsește în variabila de sistem @@version.
Funcția e utilă în scripturi de instalare sau de migrare, care trebuie să știe dacă serverul are o anumită funcție (de exemplu, funcțiile de fereastră există doar din MySQL 8.0).
Ce returnează
Un text cu versiunea serverului.
Exemple
Exemplul 1: Versiunea serverului
SELECT VERSION();
Rezultat în MySQL 8.4 (diferă de la server la server)
+-----------+
| VERSION() |
+-----------+
| 8.4.6 |
+-----------+
Exemplul 2: Aceeași valoare ca variabila @@version
SELECT VERSION() = @@version AS identice;
Rezultat
+----------+
| identice |
+----------+
| 1 |
+----------+
Exemplul 3: Verificarea versiunii principale
Prima parte a textului, până la primul punct, este versiunea principală. O transformăm în număr ca să o putem compara.
SELECT CAST(SUBSTRING_INDEX(VERSION(), '.', 1) AS UNSIGNED) >= 8 AS cel_putin_mysql_8;
Rezultat
+-------------------+
| cel_putin_mysql_8 |
+-------------------+
| 1 |
+-------------------+
Greșeli frecvente
- Compari versiunile ca texte:
'8.4.6' > '10.1'este adevărat, pentru că textele se compară caracter cu caracter. Desparte versiunea în numere înainte să compari. - Presupui că serverul este MySQL. MariaDB răspunde de exemplu cu
10.11.6-MariaDB; caută textulMariaDBîn rezultat dacă aplicația ta suportă ambele.
Comenzi înrudite
ICU_VERSION(): Returnează versiunea bibliotecii ICU folosite de MySQL pentru expresiile regulate.USER(): Returnează utilizatorul și calculatorul de pe care s-a conectat clientul, ca text „nume@gazdă”.DATABASE(): Returnează numele bazei de date curente (aleasă cu USE) sau NULL dacă nu e aleasă niciuna.