Funzione del mese di SQL Server

Funzione del mese di SQL Server
SQL Server ci offre la funzione del mese () che possiamo utilizzare per estrarre il mese come valore intero da un determinato input della data. Questo articolo esplora come possiamo usare la funzione Mese () in SQL Servi.

Sintassi della funzione di SQL Server Month ()

La sintassi del mese () può essere espressa nella sintassi seguente:

Mese (data)

Argomenti della funzione

La funzione accetta la data come argomento. Questo può essere un valore di stringa letterale, una variabile definita dall'utente, un'espressione della colonna o qualsiasi espressione che si traduce in un valore di tempo, data, piccolodatetime, datatime, datetime2 o datetimeoffset.

Valore di ritorno della funzione

La funzione restituisce un numero intero che rappresenta il mese dalla data di input. Questa funzione restituisce un valore simile alla funzione DatePart ().

Esempio di utilizzo della funzione

Di seguito mostrano esempi che dimostrano come utilizzare la funzione del mese ().

Esempio 1 - Utilizzo della funzione Mese () con valore letterale

Considera l'esempio mostrato di seguito:

SELEZIONARE
Mese ('2022-10-10') come mese_;

L'output successivo:

mese_ |
------+
10 |

Esempio 2 - Estrazione del mese da Timestamp.

Possiamo anche estrarre il mese da un determinato timestamp, come dimostrato nel campione seguente:

SELEZIONARE
Mese (getDate ()) come mese_;

In questo caso, passiamo la funzione getDate () come argomento della funzione del mese (). Controlla il nostro tutorial sulla funzione SQL Server getDate () per saperne di più.

Esempio 3 - Utilizzo della funzione Mese () con i dati del tempo

Cosa succede se la stringa di input contiene solo il valore temporale? Prendi in considerazione la query di esempio fornita di seguito:

SELEZIONARE
Month ('10: 43: 34 ') come mese_;

Come possiamo vedere, il parametro di input è un valore temporale e non contiene un valore del mese valido.

L'esecuzione della query sopra dovrebbe visualizzare l'output come:

mese_ |
------+
1 |

In tal caso, SQL Server ne restituirà uno se il valore di input contiene solo il tempo.

Esempio 4 - Utilizzo della funzione Mese () con una colonna della tabella.

Possiamo anche usare la funzione Mese () con una colonna della tabella. Per illustrare al meglio questo, usa le query come mostrato:

Drop database se esiste local_db;
Crea database local_db;
Usa local_db;
Crea database di tabelle (
id int non null Identity (1,1) Key primario,
server_name varchar (50),
server_address varchar (255) non null,
compressione_method varchar (100) predefinito "nessuno",
size_on_disk float non null,
size_ float compresso,
total_records int non null,
Data init_date
);
Inserisci in database (server_name, server_address, comprepression_method, size_on_disk, size_compressed, total_records, init_date)
valori ('mysql', 'localhost: 3306', 'lz77', 90.66, 40.04, 560000, '2022-01-02'),
('Redis', 'LocalHost: 6307', 'Snappy', 3.55, 998.2, 100000, '2022-03-19'),
('Postgresql', 'LocalHost: 5432', 'pglz', 101.2, 98.01, 340000, '2022-11-11'),
("Elasticsearch", 'LocalHost: 9200', 'LZ4', 333.2, 300.2, 1200000, '2022-10-08'),
("Mongodb", "localhost: 27017", "snappy", 4.55, 4.10, 620000, '2021-12-12'),
('Apache Cassandra', 'LocalHost: 9042', 'ZSTD', 300.3, 200.12, 10000000, '2020-03-21');
Seleziona * dai database;

Tavolo:

Possiamo usare la funzione Mese () sulla colonna INIT_DATE come illustrato:

Selezionare
nome del server,
indirizzo del server,
Mese (init_date) come init_month
da
banche dati;

Tabella risultante:

server_name | server_address | init_month |
----------------+---------------+----------+
Mysql | localhost: 3306 | 1 |
Redis | Localhost: 6307 | 3 |
PostgreSQL | LocalHost: 5432 | 11 |
Elasticsearch | localhost: 9200 | 10 |
MongoDB | LocalHost: 27017 | 12 |
Apache Cassandra | LocalHost: 9042 | 3 |

Conclusione

Questo post esplora come utilizzare la funzione Mese () in SQL Server. Utilizzando la funzione Mese (), è possibile estrarre il mese da un determinato input.