Co jest datediff w mysql

Co jest datediff w mysql
MySQL jest jedną z najpopularniejszych baz danych na świecie. Niezależnie od branży, MySQL jest szeroko przyjmowany ze względu na swoje cechy. Jest to RDBMS open source (relacyjny system zarządzania bazą danych). Dane są zorganizowane w tabele, które mogą być ze sobą powiązane. Zawiera SQL do wykonywania różnych działań bazy danych.

W tym przewodniku sprawdzimy jedną taką funkcję. Pokaże, jak używać funkcji datediff w MySQL.

Datediff () w SQL

Funkcja Datediff jest dostępna jako część języka zapytania SQL. W MySQL funkcja datediff () bierze dwie daty jako wejście, oblicza różnicę i zwraca liczbę dat między dwiema datami.

Oto jak wygląda podstawowa struktura funkcji.

$ Datediff (Expression_1, Expression_2)

Tutaj,

  • Expression_1: Pierwsza data
  • Expression_2: Druga data

Wyrażenie może być z dowolnego z poniższych formatów.

  • czas
  • data
  • Datetime
  • DateTime2
  • SmallDateTime
  • DateTimeOffset

Jednak w standardowym SQL datediff () jest nieco inny. Obsługuje również dodatkowy parametr, aby określić część daty, nad którą należy pracować.

$ Datediff (date_part, ekspresja_1, ekspresja_2)

Tutaj,

DATE_PART: Opisuje, na której części Funkcja powinna obliczyć. Domyślnie wartość jest ustawiona na dni. Jednak obsługuje również dodatkowe wartości. Te wartości date_part mają również odpowiednie skróty.

  • miesiąc („MM” lub „M”)
  • Rok („YY” lub „YYYY”)
  • Dzielnica („QQ” lub „Q”)
  • dzień („DD” lub „D”)
  • Tydzień („WK” lub „WW”
  • Dayofyear („dy” lub „y”)
  • godzina („HH”)
  • Minute („mi” lub „m”)
  • Drugi („SS” lub „S”)
  • milisekund („MS”)
  • Microsekund („MCS”)
  • Nanosekund („NS”)

Funkcja datediff () ma również ograniczenie zakresu. Obliczona wartość różnicy daty musi znajdować się w zakresie liczby całkowitej (-2,147 483 647 do 2147 483 648).

Zastosowanie Datediff ()

W tej sekcji sprawdzimy różne sposoby korzystania z funkcji. Do demonstracji serwer MySQL jest ustawiony z phpMyAdmin dla łatwości użytkowania. Sprawdź ten przewodnik po konfiguracji phpMyAdmin na Ubuntu.

Podstawowe użycie

Z zakładki SQL uruchom następujące zapytanie.

$ Select Datediff („2090-10-11”, „2020-10-10”) jako „wynik”;

Jak pokazuje wyjście, różnica między określonymi datami wynosi 25568 dni.

W porównaniu z wcześniejszą datą

Co jeśli druga data była późniejsza niż pierwsza data? Zamień wartości i przetestuj je.

$ Select Datediff („2020-10-10”, „2090-10-11”) jako „wynik”;

Jak widzimy, wciąż pokazuje 25568 dni. Jednak wartość jest ujemna. Kluczową różnicą należy pamiętać przy wdrażaniu tej funkcji w dowolnym skrypcie/zapytaniu SQL.

Wartości datetime

Funkcja datediff () akceptuje również wartości danych jako parametr. Oczekuje się, że wartości czasu będą w 24-godzinnym formacie.

$ Select Datediff („2090-10-11 23:59:59”, „2020-10-10 00:00:00”) jako „wynik_1”;
$ Select Datediff („2090-10-11 00:00:00”, „2020-10-10 23:59:59”) jako „wynik_2”;

Zauważ, że dodatkowa wartość czasu nie wpływa na wynik obliczeń. Funkcja koncentruje się tylko na dniu.

Praca z niewłaściwymi wartościami daty

Jeśli wartości daty są błędne, Datediff () zwróci wartość zerową. Aby zaprezentować, wprowadź nieprawidłową datę do jednego z parametrów.

$ Select Datediff („2099-99-99”, „2020-20-20”) jako „wynik”

Zgodnie z oczekiwaniami wartość zwrotna jest null.

Łączenie datediff () z curdate ()

Zwrotanie funkcji () zwraca bieżącą datę maszyny. Nie wymaga parametru. Dowiedz się więcej o użyciu Curdate () do wstawienia bieżącej daty i godziny w MySQL.

Korzystając z curdate (), możemy znaleźć różnicę między teraźniejszością a datą docelową. Na przykład porównajmy bieżącą datę z dniem w przeszłości.

$ Select Datediff (Curdate (), „1980-10-10”) jako „wynik”
$ Select Datediff („2077-01-01”, curdate ()) jako „wynik”

Należy zauważyć, że istnieją dodatkowe funkcje, na przykład, current_date (), które działają w taki sam sposób jak curdate (). W sytuacjach oba mogą być zamienne.

$ Select Datediff (current_date (), „1980-10-10”) jako „wynik”

Używanie datediff () z tabelami

Do tej pory zaimplementowaliśmy komendy Simple Datediff (), aby zademonstrować swoje zastosowania. Czas go wdrożyć.

Zabrałem przykładową bazę danych zawierającą różne informacje o określonej firmie i jej pracownikach do demonstracji. Przykładowa baza danych jest bezpośrednio dostępna stąd. Wybierzemy pierwsze i nazwiska pracowników z tej bazy danych i dowiemy się, jak długo pracują.

$ Wybierz First_name, Last_name, Datediff (curdate (), hire_date) jako „dni pracujących” od pracowników;

Końcowe przemyślenia

Ten przewodnik z powodzeniem pokazuje wykorzystanie funkcji Datediff () w MySQL. Oblicza różnicę między dwiema datami i zwraca wartość jako liczbę dni. Wszystkie demonstracje pomagają zrozumieć proces działający funkcji Datediff.

Aby dowiedzieć się więcej o MySQL, sprawdź te przewodniki dotyczące tworzenia tabel, zmiany nazwy, zarządzania uprawnieniami użytkownika itp.

Szczęśliwy komputer!