MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Jak PERIOD_DIFF() działa w MariaDB

W MariaDB, PERIOD_DIFF() to wbudowana funkcja daty i czasu, która zwraca liczbę miesięcy między dwoma okresami.

Składnia

Składnia wygląda tak:

PERIOD_DIFF(P1,P2)

Gdzie P1 i P2 to okresy, w których można uzyskać różnicę między nimi.

Oba argumenty mają format RRMM lub RRRRMM. Nie są to wartości dat.

Przykład

Oto przykład:

SELECT PERIOD_DIFF(202108, 202101);

Wynik:

+-----------------------------+
| PERIOD_DIFF(202108, 202101) |
+-----------------------------+
|                           7 |
+-----------------------------+

W tym przykładzie występuje różnica siedmiu miesięcy między tymi dwoma okresami.

Zmień kolejność

Jeśli pierwszy okres jest wcześniejszy niż drugi, wynik jest wartością ujemną.

Oto, co się stanie, gdy zmienię kolejność argumentów w poprzednim przykładzie:

SELECT PERIOD_DIFF(202101, 202108);

Wynik:

+-----------------------------+
| PERIOD_DIFF(202101, 202108) |
+-----------------------------+
|                          -7 |
+-----------------------------+

Dwucyfrowe lata

Jeśli którykolwiek z argumentów zawiera dwucyfrowy rok, wartości od 00 do 69 są konwertowane na od 2000 do 2069, a wartości od 70 na 1970 w górę.

Przykład:

SELECT 
    PERIOD_DIFF(6911, 6912),
    PERIOD_DIFF(6911, 7001);

Wynik:

+-------------------------+-------------------------+
| PERIOD_DIFF(6911, 6912) | PERIOD_DIFF(6911, 7001) |
+-------------------------+-------------------------+
|                      -1 |                    1198 |
+-------------------------+-------------------------+

Brakujący argument

Wywołanie PERIOD_DIFF() z niewłaściwą liczbą argumentów lub bez przekazywania jakichkolwiek argumentów powoduje błąd:

SELECT PERIOD_DIFF();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'

I kolejny przykład:

SELECT PERIOD_DIFF( 6912 );

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'PERIOD_DIFF'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB FIELD() vs FIND_IN_SET():jaka jest różnica?

  2. Zabezpieczanie MySQL — korzystanie z uprawnień dostępu do danych w celu bezpiecznej instalacji

  3. Automatyzacja baz danych za nową szwedzką tożsamością elektroniczną Freja eID

  4. Zarządzanie kluczami SSL i szyfrowanie danych MySQL w transporcie

  5. Jak wdrożyć bazę danych Chamilo MariaDB w celu zapewnienia wysokiej dostępności