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

Come funziona ORA() in MariaDB

In MariaDB, HOUR() è una funzione di data e ora incorporata che restituisce l'ora da una determinata espressione dell'ora.

Accetta un argomento, che è l'ora da cui vuoi estrarre l'ora.

Per i valori dell'ora, restituisce l'ora come numero nell'intervallo 0 a 23 . Tuttavia, l'intervallo di TIME i valori possono essere molto più grandi e, pertanto, il valore restituito può essere molto più alto di 23 .

Il valore di ritorno è sempre positivo, anche se viene fornito un tempo negativo.

Sintassi

La sintassi è questa:

HOUR(time)

Dove time è l'espressione dell'ora da cui ricavare l'ora.

Esempio

Ecco un esempio:

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

Risultato:

+------------------+
| HOUR('10:30:45') |
+------------------+
|               10 |
+------------------+

Valori di data e ora

Funziona anche con i valori datetime:

SELECT HOUR('2030-02-01 10:30:45');

Risultato:

+-----------------------------+
| HOUR('2030-02-01 10:30:45') |
+-----------------------------+
|                          10 |
+-----------------------------+

Orari più grandi

TIME i valori possono essere compresi nell'intervallo '-838:59:59.999999' a '838:59:59.999999' .

Pertanto, la parte dell'ora può essere molto più alta di 23 :

SELECT HOUR('578:30:45');

Risultato:

+-------------------+
| HOUR('578:30:45') |
+-------------------+
|               578 |
+-------------------+

Tempi negativi

I tempi negativi restituiscono un risultato positivo.

Esempio

SELECT HOUR('-578:30:45');

Risultato:

+--------------------+
| HOUR('-578:30:45') |
+--------------------+
|                578 |
+--------------------+

Orari fuori portata

Valori temporali al di fuori dell'intervallo '-838:59:59.999999' a '838:59:59.999999' restituisci 838 .

Esempio:

SELECT HOUR('978:30:45');

Risultato (usando l'output verticale):

+-------------------+
| HOUR('978:30:45') |
+-------------------+
|               838 |
+-------------------+

Data attuale

Possiamo passare NOW() come argomento datetime per utilizzare l'ora corrente:

SELECT 
    NOW(),
    HOUR(NOW());

Risultato:

+---------------------+-------------+
| NOW()               | HOUR(NOW()) |
+---------------------+-------------+
| 2021-05-16 10:50:02 |          10 |
+---------------------+-------------+

Argomenti non validi

Quando viene passato un argomento non valido, HOUR() restituisce null :

SELECT HOUR('Ten Thirty AM');

Risultato:

+-----------------------+
| HOUR('Ten Thirty AM') |
+-----------------------+
|                  NULL |
+-----------------------+

Argomento mancante

Chiamando HOUR() con il numero errato di argomenti, o senza passare alcun argomento, genera un errore:

SELECT HOUR();

Risultato:

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

E un altro esempio:

SELECT HOUR('10:30:45', '06:30:45');

Risultato:

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')' at line 1