Udostępnij za pośrednictwem


Funkcje używane w wyrażeniach

Funkcje są przechowywane operacji, których można używać.Systemy zarządzania bazami danych zapewniają podstawowe funkcje, lub można utworzyć własne funkcje zdefiniowane przez użytkownika.

Można wywołać szereg funkcji, podczas tworzenia wyrażenia, włączając:

  • Funkcje tekstowe (znakowe).

  • Funkcje daty.

  • Funkcje matematyczne.

  • Funkcje systemu.

  • Inne funkcje, takie jak do konwersji danych z jednego typu do drugiego.

  • Funkcje zdefiniowane przez użytkownika.

Ogólnie rzecz biorąc Jeśli znasz funkcje dostępne w bazie danych, można użyć nazwy funkcji i składni obsługiwanych przez tę bazę danych.W niektórych przypadkach, takich jak podczas tworzenia widoków, procedur przechowywanych lub wyzwalaczy należy użyć nazwy funkcji specyficznych dla bazy danych i składni.

Kwerendy i projektanta widoku może pomóc w pracy z funkcjami przez:

  • Poprawnie Wstawianie znaków cudzysłowu w argumentach funkcji.

  • Sprawdzanie poprawności typy danych argumentów.

  • Sprawdza poprawność typów danych zwracanych wartości.

Szczegółowe informacje na temat funkcji obsługiwanych przez bazę danych zapoznaj się z dokumentacją bazy danych

[!UWAGA]

Do tworzenia kwerend, które podsumowują dane, można użyć specjalnego zestawu funkcji, funkcji agregujących, takich jak SUM () i AVG ().Aby uzyskać szczegółowe informacje, zobacz Podsumowanie wyników kwerendy.

Funkcje tekstowe

Następujące funkcje do manipulowania ciągami znaków zapewniają pobieranie próbek i tych, które są dostępne w wielu baz danych.

Funkcja

Opis

Przykład

LCASE () *, (NIŻSZA)

Konwertuje ciągi znaków na małe litery.

Na wielką pierwszego użycia znaku:

  • Zaznacz GÓRNY (podciągi (lname, 1, 1))

Aby przekonwertować pozostałe znaki na małe litery, użyj:

  • LOWER(substring (lname, 2, 99))

FROM employee

Wyświetla nazwisko po pierwszy znak jest konwertowany na wielkie litery i pozostałe znaki na małe litery.

LTRIM)

Usuwa spacje wiodące z ciągu.

SELECT stor_name, LTRIM(stor_address)
FROM stores

Wyświetla kolumnę adresów po usunięciu spacji wiodących.

SUBSTRING)

Wyodrębnia jeden lub więcej znaków z ciągu znaków.

SELECT SUBSTRING(phone,1,3)
FROM employee

Wyświetla pierwsze trzy znaki numeru telefonu (numer kierunkowy).

UCASE () *, GÓRNY)

Konwertuje ciągi na wielkie litery.

SELECT * FROM employee
WHERE UPPER(lname) = 'SMITH'

Konwertuje zawartość lname kolumny na wielkie litery przed porównaniem ich z określoną wartość, aby uniknąć niezgodności, jeżeli wyszukiwanie jest uwzględniana wielkość liter.

* Jeśli wywołanie funkcji ODBC, użyj składni takich jak: { fn LCASE(text) }.

Funkcje daty

Następujące funkcje (lub inne podobne do nich) są dostępne w wielu baz danych.

Funkcja

Opis

Przykład

DATEDIFF)

Oblicza interwał między dwoma datami.

SELECT fname, lname, hire_date
FROM employee
WHERE DATEDIFF(year, hire_date, getdate()) > 5

Lokalizuje wszystkich pracowników zatrudnianych więcej niż pięć lat temu.

DATEPART)

Zwraca określoną część kolumny daty lub daty/godziny, zawierającą dzień, miesiąc lub rok.

SELECT DATEPART(year, hire_date)
FROM employee

Wyświetla rok, w którym zatrudniono pracownika (nie pełną datę).

(Zwracająca bieżącą datę) *, GETDATE () lub (Data)

Zwraca bieżącą datę w formacie daty/godziny.Ta funkcja jest przydatna jako dane wejściowe dla innych funkcji daty, takich jak obliczanie interwał do przodu lub Wstecz od dzisiaj.

SELECT order_id
FROM orders
WHERE order_date = GETDATE()
Displays orders placed today.

Funkcje matematyczne

Większość baz danych zapewniają kilka funkcji matematycznych, używanych podczas wykonywania obliczeń.Następujące funkcje są typowe dla tych, które są dostępne w wielu bazach danych.

[!UWAGA]

Aby utworzyć sumy i średnie w raporcie, można użyć funkcji agregujących AVG (), COUNT (), (MAX), MIN () i SUM().

Funkcja

Opis

Przykład

OKRĄGŁE)

Zaokrągla liczbę do określonej liczby miejsc dziesiętnych

SELECT ROUND(qty * (price * discount), 2)
FROM sales

Wyświetla cenę całkowitą, uwzględniając rabat i następnie zaokrągla wyniki do dwóch miejsc dziesiętnych.

FLOOR)

Zaokrągla liczbę w dół do najbliższej liczby całkowitej (najmniejsze)

UPDATE titles
SET price = FLOOR(price)

Zaokrągla wszystkie ceny w titles tabeli w dół do najbliższej liczby całkowitej.

PUŁAP)

Zaokrągla liczbę w górę do najbliższej liczby całkowitej

INSERT INTO archivetitle
SELECT title, CEILING(price)
FROM titles

Kopie title i price (zaokrąglone do najbliższej liczby całkowitej) z titles tabeli do archivetitle tabeli.

Funkcje systemu

Większość baz danych należy dostępne specjalne funkcje, które można użyć do zwracania informacji o bieżącej bazy danych, bieżącego użytkownika lub serwer.Następujące funkcje są typowe dla tych, które są dostępne w wielu bazach danych.

Funkcja

Opis

Przykład

(DŁUGOŚĆ_DANYCH)

Zwraca liczbę bajtów używanych przez określone wyrażenie.

SELECT DATALENGTH(au_lname)
FROM authors

Wyświetla liczbę bajtów wymaganych dla imiona i nazwiska.

(UŻYTKOWNIK) *, (NAZWA_UŻYTKOWNIKA)

Zwraca nazwę bieżącego użytkownika.

SELECT company_name, city, phone
FROM customers
WHERE salesperson = USER_NAME()

Tworzy listę klientów sprzedawcy, który wykonuje kwerendę.

Inne funkcje

Oprócz wymienionych wcześniej funkcje niektóre bazy danych zapewniają inne funkcje ułatwiające tworzenie kwerendy, takie jak konwersja typu danych lub inne funkcje narzędziowe.Następujące funkcje ilustrują typ funkcji narzędzia, które są dostępne w wielu baz danych.

Funkcja

Opis

Przykład

KONWERTOWANIE)

Konwertuje dane z jednego typu danych do innego.Przydatna przy formatowaniu danych lub przy używaniu zawartooci kolumn danych jako argumentu w funkcji wymagającej innego typu danych.

SELECT 'Hired: ' + CONVERT(char (11),
  hire_date)
FROM employee

Wyświetla datę poprzedzoną tytułem; funkcja CONVERT () tworzy ciąg daty tak, aby móc go złączyć z literałem ciągu znaków.

(SOUNDEX)

Zwraca kod Soundex określone wyrażenie, można użyć do tworzenia wyszukiwań "brzmi jak".

SELECT au_lname, au_fname
FROM authors
WHERE SOUNDEX(au_fname) = 'M240'

Wyszukuje nazwy brzmiące podobnie jak "Michael".

STR)

Konwertuje dane numeryczne na ciąg znaków, więc może oddziaływać za pomocą operatorów tekstowych.

SELECT str(job_id)
FROM employee

Wyświetla job_id kolumny jako jeden ciąg znaków.

Zobacz też

Informacje

Struktura wyrażeń

Koncepcje

Wyrażenia w kwerendach

Inne zasoby

Wykonywanie kwerend z parametrami