sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer MICROSECOND() i MariaDB

I MariaDB, MICROSECOND() er en indbygget dato- og tidsfunktion, der returnerer mikrosekunderdelen af ​​et givet tidsudtryk.

Den accepterer ét argument, som er det tidspunkt, du vil udtrække mikrosekunderne fra.

Sekunderne returneres som et tal i området 0 til 999999 .

Syntaks

Syntaksen ser sådan ud:

MICROSECOND(time)

Hvor time er tidsudtrykket at få mikrosekunderne fra.

Eksempel

Her er et eksempel:

SELECT MICROSECOND('10:30:45.123456');

Resultat:

+--------------------------------+
| MICROSECOND('10:30:45.123456') |
+--------------------------------+
|                         123456 |
+--------------------------------+

Følgende tidsudtryk inkluderer ikke eksplicit mikrosekunder:

SELECT MICROSECOND('10:30:45');

Resultat:

+-------------------------+
| MICROSECOND('10:30:45') |
+-------------------------+
|                       0 |
+-------------------------+

Så resultatet er 0 .

Dato-tidsværdier

Det fungerer også med datetime-værdier:

SELECT MICROSECOND('2030-02-01 10:30:45.123456');

Resultat:

+-------------------------------------------+
| MICROSECOND('2030-02-01 10:30:45.123456') |
+-------------------------------------------+
|                                    123456 |
+-------------------------------------------+

Datoværdier

At passere en dato uden et tidspunkt returnerer 0 , sammen med en advarsel.

Eksempel:

SELECT MICROSECOND('2025-10-31');

Resultat:

+---------------------------+
| MICROSECOND('2025-10-31') |
+---------------------------+
|                         0 |
+---------------------------+
1 row in set, 1 warning (0.001 sec)

Vi kan se advarslen ved at køre følgende kode:

SHOW WARNINGS;

Resultat:

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '2025-10-31' |
+---------+------+----------------------------------------------+

Aktuel dato

Vi kan sende NOW() som datetime-argument for at bruge det aktuelle klokkeslæt:

SELECT 
    NOW(6),
    MICROSECOND(NOW(6));

Resultat:

+----------------------------+---------------------+
| NOW(6)                     | MICROSECOND(NOW(6)) |
+----------------------------+---------------------+
| 2021-05-16 14:41:09.098168 |               98168 |
+----------------------------+---------------------+

I dette tilfælde specificerede jeg det NOW() skal returnere en brøkpræcision på 6 (hvilket får den til at returnere mikrosekunder).

Her er den igen med en lavere præcision:

SELECT 
    NOW(3),
    MICROSECOND(NOW(3));

Resultat:

+-------------------------+---------------------+
| NOW(3)                  | MICROSECOND(NOW(3)) |
+-------------------------+---------------------+
| 2021-05-16 14:42:35.831 |              831000 |
+-------------------------+---------------------+

Ugyldige argumenter

Når et ugyldigt tidsargument sendes, MICROSECOND() returnerer null :

SELECT MICROSECOND('10:75:00.123456');

Resultat:

+--------------------------------+
| MICROSECOND('10:75:00.123456') |
+--------------------------------+
|                           NULL |
+--------------------------------+

Manglende argument

Kalder MICROSECOND() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT MICROSECOND();

Resultat:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

Og endnu et eksempel:

SELECT MICROSECOND('10:30:45.123', '06:30:45.123');

Resultat:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45.123')' at line 1

  1. SQL cast datetime

  2. Hvordan sikkerhedskopierer og gendanner man en database som en kopi på den samme server?

  3. Vil du gemme almindelig forespørgsel som kolonne?

  4. Sådan opdeles forespørgselsvindue i SQL Server Management Studio (SSMS) - SQL Server / TSQL selvstudie del 13