SQL Server Month -funksjon

SQL Server Month -funksjon
SQL Server tilbyr oss måneden () -funksjonen som vi kan bruke for å trekke ut måneden som en heltallverdi fra en gitt datoinngang. Denne artikkelen undersøker hvordan vi kan bruke måneden () -funksjonen i SQL -servering.

SQL Server Month () Funksjonssyntaks

Månedens syntaks () kan uttrykkes i syntaks nedenfor:

Måned (dato)

Funksjonsargumenter

Funksjonen godtar datoen som argumentasjonen. Dette kan være en bokstavelig strengverdi, en brukerdefinert variabel, et kolonneuttrykk eller et hvilket som helst uttrykk som resulterer i en tid, dato, smallDateTime, DateTime, DateTime2 eller DateTimeOffset-verdi.

Funksjonsretur

Funksjonen returnerer et heltall som representerer måneden fra inngangsdatoen. Denne funksjonen returnerer en lignende verdi som datepart () -funksjonen.

Eksempelfunksjonsbruk

Følgende viser eksempler som viser hvordan du bruker måneden () -funksjonen.

Eksempel 1 - Bruke Måned () -funksjonen med bokstavelig verdi

Tenk på eksemplet som er vist nedenfor:

PLUKKE UT
Måned ('2022-10-10') som måned_;

Den påfølgende utgangen:

måned_ |
------+
10 |

Eksempel 2 - Ekstrahering av måneden fra tidsstempel.

Vi kan også trekke ut måneden fra en gitt tidsstempel, som demonstrert i prøven nedenfor:

PLUKKE UT
Måned (getDate ()) som måned_;

I dette tilfellet passerer vi GetDate () -funksjonen som Månedens () -funksjon (). Sjekk veiledningen vår på SQL Server GetDate () -funksjonen for å lære mer.

Eksempel 3 - Bruke Måned () -funksjonen med tidsdata

Hva skjer hvis inngangsstrengen bare inneholder tidsverdien? Ta hensyn til eksemplet på spørringen nedenfor:

PLUKKE UT
Måned ('10: 43: 34 ') som måned_;

Som vi kan se, er inngangsparameteren en tidsverdi og inneholder ikke en gyldig månedverdi.

Å kjøre spørringen ovenfor skal vise utdataene som:

måned_ |
------+
1 |

I et slikt tilfelle vil SQL Server returnere en hvis inngangsverdien bare inneholder tid.

Eksempel 4 - Bruk av måneden () -funksjonen med en tabellkolonne.

Vi kan også bruke Måned () -funksjonen med en tabellkolonne. For å illustrere dette best, bruk spørsmålene som vist:

Drop -databasen hvis eksisterer local_db;
opprette database local_db;
Bruk local_db;
Lag tabelldatabaser (
id int ikke null identitet (1,1) primærnøkkel,
Server_name varchar (50),
server_address varchar (255) ikke null,
kompresjon_metod varchar (100) standard 'ingen',
size_on_disk float ikke null,
Size_Compription Float,
total_records int ikke null,
init_date dato
);
Sett inn databaser (server_navn, server_adress, compression_method, size_on_disk, size_compressed, total_records, init_date)
Verdier ('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');
Velg * fra databaser;

Bord:

Vi kan bruke måneden () -funksjonen på init_date -kolonnen som illustrert:

plukke ut
Server navn,
server adresse,
Måned (init_date) som init_month
fra
databaser;

Resulterende bord:

server_name | server_adress | 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 |

Konklusjon

Dette innlegget undersøker hvordan du bruker måneden () -funksjonen i SQL Server. Ved hjelp av måneden () -funksjonen kan du trekke ut måneden fra en gitt datoinngang.