Funkcja miesiąca SQL Server

Funkcja miesiąca SQL Server
SQL Server oferuje nam funkcję miesiąca (), której możemy użyć do wyodrębnienia miesiąca jako wartości całkowitej z danego wprowadzania daty. W tym artykule bada, w jaki sposób możemy korzystać z funkcji miesiąca () w SQL Serve.

Składnia funkcji SQL Server miesiąc ()

Składnia funkcji miesiąca () można wyrazić w poniższej składni:

Miesiąc (data)

Argumenty funkcyjne

Funkcja przyjmuje datę jako argument. Może to być dosłowna wartość ciągu, zmienna zdefiniowana przez użytkownika, wyrażenie kolumny lub dowolne wyrażenie, które wynika w godzinie, datę, SmallDateTime, DateTime, DateTime2 lub DateTimeOffset wartość.

Funkcja zwraca wartość

Funkcja zwraca liczbę całkowitą reprezentującą miesiąc od daty wejścia. Ta funkcja zwraca podobną wartość do funkcji DATPART ().

Przykładowe użycie funkcji

Poniżej pokazuje przykłady pokazujące, jak korzystać z funkcji miesiąca ().

Przykład 1 - Korzystanie z funkcji miesiąca () o wartości dosłownej

Rozważ przykład pokazany poniżej:

WYBIERAĆ
Miesiąc („2022-10-10”) jako miesiąc_;

Kolejne wyjście:

miesiąc_ |
------+
10 |

Przykład 2 - Wyodrębnienie miesiąca ze znacznika czasu.

Możemy również wyodrębnić miesiąc z danego znacznika czasu, jak pokazano w poniższej próbce:

WYBIERAĆ
Miesiąc (getDate ()) jako miesiąc_;

W takim przypadku przekazujemy funkcję getDate () jako argument funkcji miesiąca (). Sprawdź nasz samouczek na funkcji SQL Server GetDate (), aby dowiedzieć się więcej.

Przykład 3 - Korzystanie z funkcji miesiąca () z danymi czasowymi

Co się stanie, jeśli ciąg wejściowy zawiera tylko wartość czasu? Weź pod uwagę zapytanie podane poniżej:

WYBIERAĆ
Miesiąc ('10: 43: 34 ') jako miesiąc_;

Jak widzimy, parametr wejściowy jest wartością czasową i nie zawiera prawidłowej wartości miesiąca.

Uruchamianie powyższego zapytania powinno wyświetlić dane wyjściowe jako:

miesiąc_ |
------+
1 |

W takim przypadku SQL Server zwróci jeden, jeśli wartość wejściowa zawiera tylko czas.

Przykład 4 - Korzystanie z funkcji miesiąca () z kolumną tabeli.

Możemy również użyć funkcji miesiąca () z kolumną tabeli. Aby najlepiej to zilustrować, użyj zapytań, jak pokazano:

Zrzuć bazę danych, jeśli istnieje local_db;
Utwórz bazę danych local_db;
Użyj local_db;
Utwórz bazy danych tabeli (
Id Int Not Null tożsamość (1,1) klucz podstawowy,
Server_name Varchar (50),
server_address varchar (255) nie null,
kompresja_method varchar (100) Domyślnie „Brak”,
size_on_disk float nie null,
size_Compressed Float,
total_records int not null,
data init_date
);
Wstaw do baz danych (nazwa_ Server, Server_Address, Compression_method, size_on_disk, size_compressed, Total_Records, init_date)
wartości („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”);
Wybierz * z baz danych;

Tabela:

Możemy użyć funkcji miesiąca () w kolumnie init_date, jak ilustrowano:

wybierać
Nazwa serwera,
adres serwera,
Miesiąc (init_date) jako init_month
z
bazy danych;

Wynikowy stół:

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 |

Wniosek

Ten post bada, jak korzystać z funkcji miesiąca () na serwerze SQL. Korzystając z funkcji miesiąca (), możesz wyodrębnić miesiąc z danej daty wprowadzania.