Skip To Content

Obliczanie wartości pól

Dzięki obliczeniom wartości pól właściciel hostowanej warstwy obiektowej lub administrator portalu może zmienić wartości każdego wiersza dla jednego pola w tabeli atrybutów warstwy przez napisanie i uruchomienie wyrażenia SQL.

Jeśli na przykład istnieje hostowana warstwa obiektowa przechowująca informacje o sprzedażach nieruchomości — w tym cenę sprzedaży i stawkę podatku dla nieruchomości — można dodać pole do warstwy, aby zapisać szacowane podatki od nieruchomości. Aby zapełnić pole estimated_property_taxes, zdefiniuj wyrażenie obliczeniowe dla pola, które pobiera wartości znajdujące się w polu sale_price i mnoży je przez wartości tax_rate.

W następnej sekcji objaśniono sposób obliczania wartości dla pola z poziomu strony szczegółów hostowanej warstwy obiektowej. W kolejnych sekcjach zaprezentowano przykłady typowych obliczeń.

Obliczanie wartości dla pola

Wykonaj te czynności w celu obliczenia wartości pól znakowych, liczbowych lub pól daty.

Notatka:
Nie można cofnąć obliczeń wartości pola. Z tego powodu zalecaną praktyką jest dodanie pola, obliczenie w nim wartości i potwierdzenie, że wykonane obliczenia są zgodne z oczekiwaniami. Jeśli tak jest, można następnie obliczyć wartość oryginalnego pola, aby było równe dodanemu polu. Po potwierdzeniu poprawności wartości w oryginalnym polu można usunąć dodane pole.
  1. Na stronie elementu warstwy kliknij kartę Dane, aby wyświetlić tabelę.
    Notatka:

    Te czynności można także wykonać w tabeli w aplikacji Map Viewer.

  2. Kliknij kolumnę zawierającą wartości, które mają zostać obliczone.
  3. Wykonaj jedną z następujących czynności, aby otworzyć okno dialogowe Oblicz pole:
    • Kliknij przycisk Oblicz.
    • Kliknij opcję Pokaż widok szczegółowy > Oblicz.
  4. Aby utworzyć wyrażenie obliczeniowe, użyj operatorów podstawowych, listy pól oraz funkcji.
  5. Po utworzeniu wyrażenia kliknij przycisk Sprawdź poprawność, aby upewnić się, że nie zawiera ono błędów. Jeśli wyrażenie jest niepoprawne, kliknij przycisk Usuń i utwórz nowe wyrażenie.
  6. Aby zastosować obliczenie do wszystkich wartości w polu, kliknij opcję Oblicz.

Czas potrzebny na wykonanie obliczeń zależy od złożoności wyrażenia i liczby obiektów w warstwie.

Przykładowe obliczenia

Poniższe sekcje zawierają przykładowe składnie lub metody umożliwiające wykonanie typowych obliczeń w portalu ArcGIS Enterprise.

Wykonywanie operacji matematycznej na wartościach liczbowych w dwóch istniejących polach w celu wypełnienia trzeciego pola

Jednym z najbardziej typowych obliczeń jest określenie nowej wartości liczbowej na podstawie istniejących wartości w warstwie obiektowej. Na przykład można odjąć sumy sprzedaży we wszystkich sklepach z jednego roku od sum sprzedaży z innego roku, aby uzyskać zmianę zysku w kolejnych latach lub podzielić łączną liczbę mieszkańców w wieku poniżej 18 lat przez całkowitą wielkość populacji, aby określić ułamek populacji w wieku poniżej 18 lat.

Przykłady w języku SQL

Użycie obliczenia w polu liczbowym (SalesDifference) w celu znalezienia różnicy między wartościami w polach liczbowych Sales2016 i Sales2017.

Sales2016 - Sales2017

Wypełnienie pola liczbowego liczbą dziesiętną będącą wynikiem obliczenia części populacji w wieku poniżej 18 lat.

PopUnder18/TotalPop

Połączenie wartości znakowych z istniejących pól w nowym polu znakowym

Inne obliczenie wypełniające nowe pole, które uwzględnia połączenie wartości z istniejących pól znakowych. Na przykład w przypadku istnienia dwóch pól znakowych reprezentujących lokalizacje pokoi hotelowych — piętro i pokój — można je połączyć w polu znakowym zawierającym oba te numery.

Przykład w języku SQL

W tym przykładzie wartości pól piętra i pokoju zostaną połączone w jednym polu.

CONCAT(Floor,Room)

Usunięcie spacji na początku lub na końcu pól znakowych

Gdy użytkownicy wpisują lub wklejają wartości podczas edycji pól, mogą popełniać błędy i pozostawiać początkowe lub końcowe spacje w tekście. Błędy te można eliminować, przycinając wartości.

Przykład w języku SQL

W tym przykładzie edytujący dodał końcową spację podczas wklejania tekstu New Hampshire do pola zawierającego nazwy stanów, dlatego należy obciąć spacje na końcu ciągu znakowego.

Trim(TRAILING ' ' FROM 'New Hampshire ')

Wypełnianie pola różnymi wartościami w zależności od wartości w innym polu

W niektórych przypadkach wartość, którą portal ArcGIS Enterprise ma zapisać w polu, różni się w zależności od obiektu i zależy od innej wartości tego samego obiektu. Na przykład można dodać do warstwy obiektowej pole znakowe, w którym ma znaleźć się tekst opisujący liczbową lub skróconą wartość znakową w innym polu.

Przykład w języku SQL

Tego rodzaju obliczenia zazwyczaj polegają na użyciu klauzul WHERE, które nie są obecnie obsługiwane w interfejsie obliczeń w portalu ArcGIS Enterprise. Można jednak zastosować filtr do warstwy w przeglądarce map Map Viewer, obliczyć wartości dla obiektów uwzględnionych w filtrze, usunąć filtr, zastosować inny filtr oparty na innej wartości i obliczyć wartości tych pól.

Jeśli na przykład istnieje pole liczbowe, w którym przy użyciu kodów (3, 2 i 1) rejestrowane są typy sklepów i potrzebne jest pole znakowe, które będzie zawierać znakową reprezentację tych kodów (sieć sklepów, franczyza i sklep niezależny), można dodać do warstwy pole znakowe, dodać warstwę do przeglądarki map Map Viewer, utworzyć filtr dla każdej wartości kodu i obliczyć wartość pola znakowego.

  1. Dodaj pole znakowe do hostowanej warstwy obiektowej. Skonfiguruj długość odpowiadającą najdłuższemu ciągowi znakowemu, który ma zostać zapisany.

    W przykładzie typu sklepu nazwą nowego pola jest TypeFull (Pełna nazwa typu).

  2. Na karcie Przegląd strony szczegółów warstwy kliknij opcję Otwórz w przeglądarce map.
  3. Zdefiniuj filtr w warstwie, tak aby na mapie widoczne były tylko obiekty tego samego typu.

    W przykładzie dotyczącym sklepu zastosuj filtr, który zwraca tylko te obiekty, dla których wartość w polu StoreCode (Kod sklepu) jest równa 3.

  4. Otwórz tabelę atrybutów dla warstwy.
  5. Kliknij nazwę pola dodanego w etapie 1, a następnie kliknij przycisk Oblicz.

    W tym przykładzie kliknij nazwę TypeFull i kliknij przycisk Oblicz.

  6. Wpisz ciąg znakowy, który ma być wstawiany w tym polu dla tych obiektów. Ujmij ten ciąg znakowy w apostrofy ('').

    Wpisz ciąg znakowy 'sieć sklepów', aby wypełnić pole TypeFull dla wszystkich obiektów, które w polu StoreCode mają wartość 3.

  7. Kliknij przycisk Oblicz.
  8. Usuń filtr zdefiniowany w etapie 3. (Otwórz okno Filtr dla warstwy ponownie i kliknij opcję Usuń filtr).
  9. Powtórz etapy od 3 do 8 dla pozostałych wartości, które należy obliczyć.

    W przykładzie dotyczącym sklepu zdefiniuj filtr dla pola StoreCode o wartości 2 i skonfiguruj wartość pola TypeFull na 'franczyza'. Usuń ten filtr, zdefiniuj nowy filtr dla pola StoreCode o wartości 1 i skonfiguruj wartość pola TypeFull na 'sklep niezależny'.

  10. Po zakończeniu obliczania wartości dla nowego pola zamknij przeglądarkę map Map Viewer bez zapisywania mapy.

Zastępowanie jednej wartości inną

Jeśli potrzebne jest zastąpienie istniejącej wartości inną, na przykład ze względu na zmianę sposobu reprezentowania określonej wartości lub w celu poprawiania błędnie wpisanych wartości, można znaleźć wszystkie istniejące wartości dla pola i zastąpić je nową wartością.

Uwaga:

Obliczenia są natychmiast zapisywane w warstwie obiektowej. Jeśli istniejąca wartość zostanie zastąpiona niepoprawnie, należy ponowić obliczenie, aby przywrócić pierwotną wartość.

Przykład w języku SQL

W podobny sposób, jak w przypadku wypełniania pola na podstawie wartości w innym polu, można zastosować do warstwy w przeglądarce map Map Viewer filtr zwracający wyłącznie obiekty zawierające w polu wartość, która ma zostać zastąpiona. Następnie należy skonfigurować filtrowane pola na nową wartość, aby zaktualizować wartość pól.

Jeśli na przykład konieczne jest poprawienie błędnie wpisanych wartości lub przekształcenie słowa w skrót, należy ustawić filtr na literał znakowy, który ma zostać zmieniony i skonfigurować nową wartość pola.

  1. Dodaj hostowaną warstwę obiektową, która ma zostać zaktualizowana, do przeglądarki map Map Viewer.

    Użytkownik musi być właścicielem warstwy lub administratorem portalu.

  2. Zdefiniuj filtr w warstwie, tak aby na mapie widoczne były tylko obiekty zawierające wartość, która ma zostać zastąpiona.

    Jeśli na przykład znana jest liczba obiektów zawierających w polu StreetType (Typ ulicy) wartość Crt, zastosuj filtr, który zwraca tylko te obiekty, które w polu StreetType mają wartość Crt.

  3. Otwórz tabelę atrybutów dla warstwy.
  4. Kliknij nazwę pola i kliknij przycisk Oblicz.

    W tym przykładzie kliknij pole StreetType i kliknij przycisk Oblicz.

  5. Wpisz ciąg znakowy, który ma być wstawiany w tym polu dla tych obiektów. Ujmij ten ciąg znakowy w apostrofy ('').

    Wpisz ciąg znakowy 'Ct', aby wypełnić uwzględnione w filtrze pola StreetType poprawionym skrótem słowa Court.

  6. Kliknij przycisk Oblicz, aby zastosować zmiany do filtrowanych pól.
  7. Zamknij przeglądarkę map Map Viewer bez zapisywania mapy.

Dodawanie lub odejmowanie czasu od daty

W celu uzyskania zaktualizowanego pola daty może być konieczne dodanie czasu do pola daty bądź do wartości literału daty lub odjęcie czasu od niego. Na przykład można obliczyć datę przyszłej kontroli lub przeglądu, dodając czas do daty.

Przykłady w języku SQL

Dodaj czas do pola daty lub odejmij czas od pola daty za pomocą zapytania INTERVAL, jak pokazano w następujących obliczeniach. W pierwszym przykładzie do daty są dodawane trzy dni, aby uzyskać nową datę. W drugim przykładzie od pola znacznika czasu są odejmowane trzy dni.

<DateField> + INTERVAL '3'DAY = updated date
<DateField> - INTERVAL '3 00:00:60' DAY TO SECOND = updated date

Zapytania INTERVAL można używać z następującymi wartościami daty i czasu:

  • DAY
  • HOUR
  • MINUTE
  • SECOND
  • DAY TO HOUR
  • DAY TO MINUTE
  • DAY TO SECOND
  • HOUR TO MINUTE
  • HOUR TO SECOND
  • MINUTE TO SECOND

Obliczanie różnicy między dwiema datami

Czasami konieczne jest obliczenie czasu między dwoma datami. Na przykład jeśli podana jest data instalacji liczników prądu oraz data kontroli, można obliczyć różnicę między tymi dwiema datami i sprawdzić, czy okres od instalacji do kontroli jest zgodny z przepisami. Wynikiem obliczenia jest pole liczbowe, a nie pole daty.

Przykłady w języku SQL

Do obliczania czasu między dwiema datami można użyć dowolnej kombinacji pól daty i literałów daty. W pierwszym obliczeniu poniżej jest używane pole daty, a w drugim — literał daty. W trzecim i czwartym obliczeniu używane jest pole daty i literał daty.

<DateField1> - <DateField2> = number of days in between
DATE'<SQL-supported Date Literal>' - DATE'< SQL-supported Date Literal>' = number of days in between
<DateField1> - DATE'<SQL-supported Date Literal>' = number of days in between
DATE'<SQL-supported Date Literal>' - <DateField2>  = number of days in between

Wynikiem jest pole liczbowe obliczane przez odjęcie jednego pola lub literału daty od drugiego pola lub literału. Wynik liczbowy (w dniach) może być liczbą całkowitą lub ułamkową — na przykład 1,5 oznacza półtora dnia, czyli 36 godzin.

W przykładzie z licznikami prądu przytoczonym powyżej można użyć dowolnych z poniższych obliczeń w celu obliczenia czasu między datą instalacji 6/1/2015 i datą kontroli 10/1/2015. W pierwszym obliczeniu używane są pola daty, w drugim literały daty, a w trzecim i czwartym są używane zarówno pole daty, jak i literał daty.

<InspectionDateField> - <InstallationDateField> = 122 (days)
DATE'10/1/2015' - DATE'6/1/2015' = 122 (days)
<InspectionDateField> - DATE'6/1/2015' = 122 (days)
DATE'10/1/2015' - <InstallationDateField> = 122 (days)

Uwagi dotyczące obliczania wartości pól

  • Jeśli w warstwie wyświetlanej w przeglądarce map Map Viewerzastosowano filtr, obliczone zostaną tylko wartości rekordów spełniających kryteria filtru.
  • Podczas pisania wyrażeń SQL funkcja Oblicz pole obsługuje wyłącznie nazwy pól, a nie ich aliasy. Na liście Pola wyświetlane są wszystkie nazwy pól, dla których można obliczyć wartość. Tę listę można filtrować według typów pól: Znakowe, Numeryczne oraz Data.
    • Po umieszczeniu kursora na nazwie pola widocznej na liście Pola wyświetlone zostają alias pola oraz typ pola.
    • Kliknięcie nazwy pola widocznej na liście Pola powoduje dodanie pola do wyrażenia.
  • Nie można obliczać wartości pól w kopiach hostowanych warstw obiektowych, hostowanych warstwach obiektowych, które mają powiązane warstwy kafli, hostowanych warstwach obiektów czasowo-przestrzennych ani widokach utworzonych z hostowanych warstw obiektów czasowo-przestrzennych.
  • Podczas obliczania wartości pól obsługiwane są tylko standardowe zapytania SQL.
  • Nie można używać funkcji liczbowej MOD dla pól typu liczba zmiennoprzecinkowa podwójnej precyzji. Takie pole należy przekształcić na typ liczba całkowita, jak pokazano w przykładzie.

Informacje na temat standardowego języka SQL (SQL-92)

Tworząc wyrażenia SQL do obliczania wartości pól, należy używać standardowego języka SQL. Ta sekcja zawiera listę operatorów i funkcji SQL, których można używać do obliczeń za pomocą języka SQL w portalu ArcGIS Enterprise.

Po utworzeniu wyrażenia SQL kliknij przycisk Oblicz. Jeśli wystąpiły jakiekolwiek błędy, u dołu okna dialogowego wyświetlony zostanie odpowiedni komunikat. Popraw składnię wyrażenia i oblicz ponownie.

Operatory

Okno dialogowe Oblicz pole umożliwia budowanie prostych wyrażeń w języku SQL przy użyciu operatorów, takich jak plus, minus, znak mnożenia oraz dzielenia. Przykłady i wskazówki dotyczące korzystania z tych operatorów są następujące:

  • Aby pomnożyć wszystkie wartości w polu numerycznym o nazwie SAMPLE przez wartość 100,0, wprowadź wyrażenie SAMPLE * 100.0.
  • W przypadku bardziej skomplikowanych równań można skorzystać z nawiasów, aby podać kolejność wykonywania działań, na przykład SAMPLE * (BASELINE – 40).
  • Operatorów matematycznych nie można stosować z polami znakowymi. Konieczne jest skorzystanie z funkcji ciągów opisanych w sekcji Funkcje ciągów znakowych.
  • Jeśli wartość pola typu liczba zmiennoprzecinkowa podwójnej precyzji zostanie obliczona w polu typu liczba całkowita, do wyrażenia może zostać automatycznie dodana funkcja CAST. Na przykład: podczas obliczania wartości pola typu liczba zmiennoprzecinkowa podwójnej precyzji o nazwie POP w polu typu liczba całkowita o nazwie SAMPLE wyrażenie zostanie wyświetlone w postaci CAST(SAMPLE AS FLOAT). Nie należy usuwać funkcji CAST. Informacje na temat funkcji CAST można znaleźć w sekcji Funkcje numeryczne znajdującej się poniżej.
  • Aby do ciągu znakowego dołączyć apostrof, użyj dwóch cudzysłowów pojedynczych. Na przykład 'Nightingale''s'. Nie używaj podwójnych cudzysłowów.

Funkcje

Oprócz prostych wyrażeń zawierających operatory do budowania wyrażeń w języku SQL można również używać funkcji. Funkcje obsługują nazwy pól, literały oraz inne funkcje. Na przykład: użytkownik chce określić liczbę zmiennoprzecinkową podwójnej precyzji jako TOTALPOP podzielone przez POP18. Jeżeli dla jakiegokolwiek obiektu wartość pola POP18 jest równa zero, obliczenie nie zostanie wykonane i wyświetlony zostanie komunikat o błędzie dzielenia przez zero. Aby zapobiec wystąpieniu tego typu błędu, można skorzystać z funkcji NULLIF opisanej poniżej. Po jej zastosowaniu wyrażenie miałoby postać TOTALPOP / NULLIF(POP18, 0).

Funkcje przyjmują argumenty. W poniższej tabeli każdy z argumentów może być jednym z następujących elementów:

  • Nazwa pola — typ pola musi być zgodny z typem argumentu (ciąg znakowy, liczba lub data).
  • Literał — na przykład 'Zaglowka' (ciąg znakowy umieszczony w pojedynczych cudzysłowach), liczba 5 lub data w formacie MM/DD/RRRR hh:mm:ss umieszczona w pojedynczych cudzysłowach.
  • Funkcja zwracająca wartość odpowiedniego typu (ciąg znakowy, liczba lub data). Na przykład funkcja FLOOR(POWER(SAMP_ERR, 0.5)) zwraca największą liczbę całkowitą, która jest równa wartości pierwiastka kwadratowego z wartości pola SAMP_ERR (lub mniejsza).

Ze względów demonstracyjnych przykłady przedstawione w kolumnie z opisem w poniższych tabelach przyjmują argumenty w postaci literałów. Dla tych argumentów można również użyć nazwy pola lub innej funkcji.

Funkcje daty

Na polach dat można wykonywać kilka rodzajów obliczeń. Na przykład można dodawać lub odejmować czas od pola daty albo obliczać różnicę między dwoma polami daty.

Przed rozpoczęciem pracy z polami daty należy zapoznać się z tymi ważnymi uwagami.

Podczas obliczania pól daty można użyć dowolnej kombinacji pól daty i pól liczbowych oraz literałów. W przypadku korzystania z literałów daty konieczne jest używanie formatów daty obsługiwanych przez SQL.

Dostępne są następujące funkcje daty:

FunkcjaOpis

CURRENT_DATE

Zwraca bieżącą datę w formacie UTC.

Sposób przedstawienia zależy od używanej aplikacji klienckiej. W witrynie portalu daty są wyświetlane zgodnie ze strefą czasową przeglądarki.

W następującym przykładzie zwracane są wszystkie wartości w polu inspection_date (Data inspekcji), w których data jest późniejsza niż bieżąca:

inspection_date > CURRENT_DATE

CURRENT_TIMESTAMP

Zwraca datę i czas w formacie UTC (godziny, minuty, sekundy).

Sposób przedstawienia zależy od używanej aplikacji klienckiej. W witrynie portalu czas jest wyświetlany jako czas lokalny przeglądarki.

W tym przykładzie zwracane są wszystkie wartości znacznika czasu w polu appointments wcześniejsze niż bieżąca data i czas (UTC):

appointments < CURRENT_TIMESTAMP

EXTRACT(<unit> FROM '<date>')

Zwraca jedną część (<unit>) podanej wartości <date>. Możliwe wartości <unit> to na przykład rok, miesiąc, dzień, godzina i minuta.

Przykłady:

  • EXTRACT(MONTH FROM '12-21-2016') — zwraca 12.
  • EXTRACT(DAY FROM '12-21-2016 12:00') — zwraca 21.
  • EXTRACT(HOUR FROM '12-21-2016 15:00:44') — zwraca 15.

Funkcje liczbowe

FunkcjaOpis

ABS(<number>)

Zwraca wartość bezwzględną (dodatnią) podanej liczby.

CEILING(<number>)

Zwraca najmniejszą liczbę całkowitą większą od podanej lub jej równą.

Przykład

  • CEILING(12.93) — wynik wynosi 13.

COS(<number>)

Zwraca wartość funkcji trygonometrycznej cosinus liczby <number>. Przyjmuje się, że liczba jest kątem wyrażonym w radianach.

CAST(<liczba>AS FLOAT | INT)

Przekształca liczbę na liczbę innego typu. Funkcja FLOAT przekształca podaną liczbę na liczbę zmiennoprzecinkową podwójnej precyzji, natomiast funkcja INT przekształca ją na liczbę całkowitą.

FLOOR(<number>)

Zwraca największą liczbę całkowitą równą podanej liczbie lub od niej mniejszą.

Przykład

  • FLOOR(12.93) — wynik wynosi 12.

LN(<number>,<decimal_place>)

Logarytm naturalny podanej liczby.

LOG(<number>,<decimal_place>)

Logarytm dziesiętny podanej liczby.

MOD(<number>, <n>)

Zwraca resztę z dzielenia dzielnej (<liczba>) przez dzielnik <n>. Zarówno parametr <n>, jak i <liczba> muszą być liczbami całkowitymi.

Przykłady:

  • MOD(10, 4) — wynik wynosi 2.
  • MOD(CAST(DBLFIELD AS INT), 4)DBLFIELD to pole typu liczba zmiennoprzecinkowa podwójnej precyzji, dlatego konieczne jest zastosowanie funkcji CAST, która przekształca liczbę zmiennoprzecinkową podwójnej precyzji na liczbę całkowitą.

NULLIF(<number>, <value>)

Zwraca null, jeśli podana liczba jest równa podanej wartości. Funkcja NULLIF jest często stosowana, aby zapobiec wystąpieniu błędu dzielenia przez zero przez ustawienie wartości <value> równej 0.

Za każdym razem, gdy podczas wykonywania obliczeń napotykane jest pole o wartości null będące argumentem, wynikiem obliczenia jest wartość null.

Na przykład: użytkownik chce obliczyć wartość pola zmiennoprzecinkowego podwójnej precyzji jako TOTALPOP podzielone przez POP18. Jeżeli dla jakiegokolwiek obiektu wartość pola POP18 jest równa zero, obliczenie nie zostanie wykonane i wyświetlony zostanie komunikat o błędzie dzielenia przez zero. Można również utworzyć filtr umożliwiający ukrycie rekordów, w których wartość pola POP18 jest równa zero, a następnie wykonać odpowiednie obliczenia. Zastosowanie funkcji NULLIF jest szybszą metodą.

  • TOTALPOP / NULLIF(POP18, 0) — zwraca null, jeśli POP18 jest równe zero. W przeciwnym razie zwracana jest wartość TOTALPOP / POP18.

POWER(<number> , <y>)

Zwraca wartość podanej liczby podniesionej do podanej potęgi (<y>).

ROUND(<number> , <length>)

Zaokrągla podaną liczbę do podanej liczby miejsc po przecinku.

Jeżeli wartość <length> jest dodatnia, liczba zostaje zaokrąglona do podanej liczby miejsc po przecinku (<length>). W przypadku gdy liczba <length> jest ujemna, podana wartość <number> jest zaokrąglana po lewej stronie przecinka dziesiętnego.

Przykłady

  • ROUND(10.9934,2) — zwraca 10,99.
  • ROUND(10.9964,2) — zwraca 11,00.
  • ROUND(111.0,-2) — zwraca 100,00.

SIN(<number>)

Zwraca wartość funkcji trygonometrycznej sinus dla podanej liczby <number>. Przyjmuje się, że liczba ta jest kątem wyrażonym w radianach.

TAN(<number>)

Zwraca wartość funkcji trygonometrycznej tangens dla podanej liczby <number>. Przyjmuje się, że liczba ta jest kątem wyrażonym w radianach.

TRUNC(<number>,<decimal_place>)

Przycina wartość <number> do podanej liczby <decimal_place>.

Jeżeli <decimal_place> jest dodatnia, wartość zostaje przycięta do podanej liczby miejsc po przecinku. W przypadku gdy liczba <decimal_place> jest ujemna, wartość <number> jest przycinana po lewej stronie przecinka dziesiętnego.

Przykłady

  • TRUNC(111.996,2) — zwraca 111,99.
  • TRUNC(111.996,-2) — zwraca 100,00.

Funkcje ciągów znakowych

FunkcjaOpis

CHAR_LENGTH(<string>)

Zwraca liczbę znaków w podanym ciągu znakowym. Wynik ma postać liczby całkowitej.

Przykład

  • CHAR_LENGTH('Redlands') — wynik wynosi 8.

CONCAT(<string1>, <string2>)

Łączy dwie wartości ciągu znakowego.

Można podać tylko dwa ciągi. Aby połączyć więcej niż dwa ciągi znakowe, należy zagnieździć kilka funkcji CONCAT, jak przedstawiono poniżej.

Przykłady

  • CONCAT('A', 'B') — wynik wynosi 'AB'.
  • CONCAT('A', CONCAT(':', 'B')) — wynik wynosi 'A:B'.

Wartości null są przekształcane na ciąg pusty.

POSITION(<substring> in <string>)

Zwraca pozycję pierwszego wystąpienia podanego podciągu w podanym ciągu znakowym. Jeżeli podany podciąg nie zostanie znaleziony, wynik wynosi 0.

Przykłady

  • POSITION('boat'in 'Sailboat') — wynik wynosi 5.
  • POSITION('motor'in 'Sailboat') — wynik wynosi 0.

SUBSTRING(<string>, <start>, <length>)

Zwraca część wartości ciągu znakowego; <start> to indeks liczby całkowitej określający, gdzie rozpoczynają się zwracane znaki, a <length> jest liczbą zwracanych znaków.

Przykłady

  • SUBSTRING('Sailboat', 5, 4) — wynik wynosi 'boat'.
  • SUBSTRING('Sailboat', 1, 4) — wynik wynosi 'Sail'.
  • SUBSTRING('Sailboat', 5, 100) — wynik wynosi 'boat'.

TRIM(BOTH | LEADING | TRAILING ' ' FROM <string>)

Zwraca ciąg znakowy, który jest podanym ciągiem z usuniętymi wszystkimi spacjami początkowymi i końcowymi.

Przykład

  • TRIM(BOTH ' ' FROM ' San Bernardino ') — wynik wynosi 'San Bernardino'.

Należy zwrócić uwagę na to, że drugi argument to dwa pojedyncze cudzysłowy, pomiędzy którymi znajduje się znak spacji.

UPPER(<string>)

Zwraca ciąg znakowy, w którym wszystkie znaki są zapisane wielkimi literami.

Przykład

  • UPPER('Sailboat') — wynik wynosi 'SAILBOAT'.

LOWER(<string>)

Zwraca ciąg znakowy, w którym wszystkie znaki są zapisane małymi literami.

Przykład

  • LOWER('Sailboat') — wynik wynosi 'sailboat'.