Skip To Content

Praca z polami

Jeżeli bieżący użytkownik jest właścicielem hostowanej warstwy obiektowej lub administratorem instytucji, pracując z hostowanymi warstwami obiektowymi, może dodawać i usuwać pola, a także obliczać ich wartości. Obowiązują jednak pewne ograniczenia. Nie można na przykład wykonać operacji usunięcia lub obliczenia wartości w przypadku pola OBJECTID. Właściciel hostowanej warstwy obiektów czasowo-przestrzennych lub administrator portalu może dodać pole do warstwy ze strony elementu (począwszy od ArcGIS Enterprise w wersji 10.6.1). Pełną listę ograniczeń można znaleźć w sekcji Ograniczenia.

Wymagania wstępne:

Aby dodawać, usuwać lub obliczać pola na hostowanej warstwie obiektowej, należy najpierw wyświetlić tabelę atrybutów warstwy. Więcej informacji na temat tabel można znaleźć w temacie Wyświetlanie tabel.

Dodawanie pola

  1. Wykonaj poniższe czynności, aby wyświetlić tabelę.
  2. Kliknij przycisk Opcje Opcje.
  3. Kliknij przycisk Dodaj pole.
    • Nazwa — nazwy pól nie mogą zawierać znaków specjalnych, takich jak spacje, myślniki, nawiasy (także kwadratowe) ani znaków, takich jak $, % oraz #. Nie należy stosować nazw pól zawierających słowa, które są uznawane za słowa kluczowe zarezerwowane dla baz danych, takich jak CHARACTER lub DATE. Próba utworzenia nazwy pola zawierającej znaki specjalne lub słowa kluczowe zarezerwowane dla baz danych powoduje wyświetlenie komunikatu o błędzie.
    • Alias — jest to alternatywna nazwa pola, która jest bardziej opisowa i łatwiejsza w obsłudze dla użytkownika niż nazwa pola. Alias nie może zawierać znaków specjalnych ani słów kluczowych zarezerwowanych dla baz danych.
    • Typ — jest to jeden z następujących elementów:
      • Data — data i godzina. Zapoznaj się z sekcją Praca z polami danych.
        Notatka:

        Choć portal zapisuje wszystkie wartości dat w czasie UTC, zazwyczaj daty będą wyświetlane i edytowane w lokalnej strefie czasowej, ponieważ większość aplikacji automatycznie przekształca czas do i z formatu UTC. Przy przesyłaniu danych — na przykład w formie plików CSV lub plików shape — należy jednak określić odpowiednią strefę czasową. W przeciwnym razie data zostanie uznana za datę UTC.

      • Liczba zmiennoprzecinkowa podwójnej precyzji — liczby z miejscami dziesiętnymi.
      • Liczba całkowita — liczby pełne, z zakresu -2 147 483 648 do 2 147 483 647 (długa liczba całkowita).
      • Ciąg — dowolna sekwencja znaków.
    • Długość — długość maksymalna, czyli liczba znaków, które można umieścić w polu ciągu. W przypadku pól typu Znakowe parametr długości jest wymagany. Domyślna wartość to 256 znaków.
  4. Kliknij opcję Dodaj nowe pole.

Wskazówka:

Nowo dodane pola mogą nie być automatycznie wyświetlane w tabeli i oknach podręcznych. Aby ustawić je jako widoczne, należy zmodyfikować konfigurację okien podręcznych dla warstwy.

Dodawanie pola do hostowanej warstwy obiektów czasowo-przestrzennych

Do hostowanej warstwy obiektów czasowo-przestrzennych utworzonej za pomocą uruchomienia narzędzia analiz geoprzestrzennych można dodać pole na stronie elementu warstwy.

  1. Wybierz hostowaną warstwę obiektów czasowo-przestrzennych z jednej z kart na stronie Zasoby i otwórz stronę elementu.
  2. Kliknij kartę Dane.
  3. Kliknij przycisk Opcje Opcje i kliknij przycisk Dodaj pole.
  4. Dla nowego pola podaj następujące informacje:
    • Nazwa — nazwy pól nie mogą zawierać znaków specjalnych, takich jak spacje, myślniki, nawiasy (także kwadratowe) ani znaków, takich jak $, % oraz #. Nie należy stosować nazw pól zawierających słowa, które są uznawane za słowa kluczowe zarezerwowane dla baz danych, takich jak CHARACTER lub DATE. Próba utworzenia nazwy pola zawierającej znaki specjalne lub słowa kluczowe zarezerwowane dla baz danych powoduje wyświetlenie komunikatu o błędzie.
    • Alias — jest to alternatywna nazwa pola, która jest bardziej opisowa i łatwiejsza w obsłudze dla użytkownika niż nazwa pola. Alias nie może zawierać znaków specjalnych ani słów kluczowych zarezerwowanych dla baz danych.
    • Typ — jest to jeden z następujących elementów:
      • Data — data i godzina. Zapoznaj się z sekcją Praca z polami danych.
        Notatka:

        Choć portal zapisuje wszystkie wartości dat w czasie UTC, zazwyczaj daty będą wyświetlane i edytowane w lokalnej strefie czasowej, ponieważ większość aplikacji automatycznie przekształca czas do i z formatu UTC. Przy przesyłaniu danych — na przykład w formie plików CSV lub plików shape — należy jednak określić odpowiednią strefę czasową. W przeciwnym razie data zostanie uznana za datę UTC.

      • Liczba zmiennoprzecinkowa podwójnej precyzji — liczby z miejscami dziesiętnymi.
      • Liczba całkowita — liczby pełne, z zakresu -2 147 483 648 do 2 147 483 647 (długa liczba całkowita).
      • Ciąg — dowolna sekwencja znaków.
    • Długość — długość maksymalna, czyli liczba znaków, które można umieścić w polu ciągu. W przypadku pól typu Znakowe parametr długości jest wymagany. Domyślna wartość to 256 znaków.
  5. Kliknij opcję Dodaj nowe pole.

Wskazówka:

Nowo dodane pola mogą nie być automatycznie wyświetlane w tabeli i oknach podręcznych. Aby ustawić je jako widoczne, należy zmodyfikować konfigurację okien podręcznych dla warstwy.

Usuwanie pola

  1. Wykonaj poniższe czynności, aby wyświetlić tabelę.
  2. Kliknij kolumnę zawierającą pole, które zostanie usunięte.
  3. Kliknij przycisk Usuń. Potwierdź chęć usunięcia pola.

W przypadku niektórych pól (np. OBJECTID, CREATIONDATE, CREATOR, EDITDATE i EDITOR oraz pól używanych na mapach do określania symboli i filtrów) opcja Usuń jest niedostępna. Jednak w pozostałych mapach pola używane w przypadku symboli i filtrowania mogą być inne niż te używane w mapie bieżącego użytkownika. W przypadku tego typu pól opcja Usuń jest dostępna. Należy zachować ostrożność podczas usuwania pól, które mogą być używane przez inne mapy do określania ustawień symboli i filtrowania.

Obliczanie wartości pola

Notatka:
Nie można cofnąć obliczeń wartości pola.
  1. Wykonaj poniższe czynności, aby wyświetlić tabelę.
  2. Kliknij kolumnę zawierającą pole, którego wartość zostanie obliczona.
  3. Kliknij przycisk Oblicz.

    Wyświetlone zostanie okno dialogowe Oblicz pole.

Podstawowe operacje

Okno dialogowe Oblicz pole umożliwia budowanie prostych wyrażeń przy użyciu operatorów, takich jak plus, minus, znak mnożenia oraz dzielenia. Poniżej przedstawiono przykłady i wskazówki:

  • 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żeli 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.

Po utworzeniu wyrażenia kliknij przycisk Oblicz. Jeżeli wystąpiły jakiekolwiek błędy, u dołu okna dialogowego wyświetlony zostanie odpowiedni komunikat.

Poniżej przedstawiono dodatkowe wskazówki:

  • Jeżeli w warstwie zastosowano filtr, obliczone zostaną tylko wartości rekordów spełniających kryteria filtru.
  • 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.

Korzystanie z funkcji

Oprócz prostych wyrażeń zawierających operatory, można również skorzystać z 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 'Sailboat' (ciąg umieszczony w pojedynczych cudzysłowach), liczba 5 lub data w formacie MM/DD/RRRR hh:mm:ss umieszczona w pojedynczych cudzysłowach.
  • Jeśli w instytucji można stosować niestandardowe kwerendy SQL, znaki spoza alfabetu angielskiego w literale ciągu należy poprzedzić znakiem N (na przykład: N'针叶林').
  • 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 ciągów znakowych

FunkcjaOpis

CHAR_LENGTH(ciąg)

Zwraca liczbę znaków, z których składa się ciąg. Wynik ma postać liczby całkowitej.

Przykład

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

CONCAT(ciąg1, ciąg2)

Łączy ze sobą dwa ciągi.

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 w poniższym przykładzie.

Przykład

  • 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(podciąg w ciągu)

Zwraca pozycję pierwszego wystąpienia podciągu w ciągu. Jeżeli podciąg nie zostanie znaleziony, wynik to 0.

Przykłady

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

SUBSTRING(ciąg, początek, długość)

Zwraca część ciągu znakowego; początek to indeks liczby całkowitej określający, gdzie rozpoczynają się zwracane znaki, a długość jest liczbą zwracanych znaków.

Przykład

  • 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 ciąg)

Zwraca ciąg, który jest ciągiem z usuniętymi wszystkimi spacjami wiodącymi 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(ciąg)

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

Przykład

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

LOWER(ciąg)

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

Przykład

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

Funkcje liczbowe

Oprócz opisanych poniżej funkcji numerycznych można również obliczać statystyki kolumn z danymi. Statystyki te obejmują liczbę rekordów, wartość minimalną i maksymalną, sumę wszystkich wartości, wartość średnią oraz odchylenie standardowe wszystkich wartości.

  1. Kliknij kolumnę zawierającą pole, w przypadku którego zostaną uzyskane statystki dotyczące wartości.
  2. Kliknij przycisk Statystyka. Wyświetlone zostanie okno dialogowe z obliczonymi danymi statystycznymi.

FunkcjaOpis

ABS(liczba)

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

CEILING(liczba)

Zwraca najmniejszą liczbę całkowitą równą określonej liczbie (lub większą).

Przykład

  • CEILING(12.93) — wynik wynosi 13.

COS(liczba)

Zwraca wartość funkcji trygonometrycznej cosinus dla liczby. 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 liczbę na liczbę zmiennoprzecinkową podwójnej precyzji, natomiast funkcja INT przekształca ją na liczbę całkowitą.

FLOOR(liczba)

Zwraca największą liczbę całkowitą równą określonej liczbie (lub mniejszą).

Przykład

  • FLOOR(12.93) — wynik wynosi 12.

LN(liczba, miejsce_dziesiętne)

Logarytm naturalny z liczby.

LOG(liczba, miejsce_dziesiętne)

Logarytm dziesiętny (postawa równa 10) z liczby.

MOD(liczba, n)

Zwraca resztę z dzielenia przez n, którego dzielną jest liczba. Zarówno parametr n, jak i liczba muszą być liczbami całkowitymi.

Przykład

  • 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(liczba, wartość)

Zwraca null, jeśli liczba jest równa wartości. Funkcja NULLIF jest często stosowana, aby zapobiec wystąpieniu błędu dzielenia przez zero, dzięki określeniu wartości jako 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 określić liczbę zmiennoprzecinkową podwójnej precyzji jako TOTALPOP podzielone przez POP18. Jeżeli dla dowolnego 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(liczba , y)

Zwraca wartość będącą wynikiem podniesienia liczby do określonej potęgi y.

ROUND(liczba , długość)

Zaokrągla liczbę do określonej liczby miejsc po przecinku.

Jeżeli wartość długości jest dodatnia, liczba zostaje zaokrąglona do określonej liczby miejsc po przecinku określonej przez długość. W przypadku gdy wartość długości jest ujemna liczba 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(liczba)

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

TAN(liczba)

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

TRUNC(liczba, miejsce_dziesiętne)

Przycina liczbę do określonej liczby miejsc_dziesiętnych.

Jeżeli liczba miejsc_dziesiętnych jest wartością dodatnią, liczba zostaje przycięta do określonej liczby miejsc po przecinku. W przypadku gdy liczba miejsc_dziesiętnych ma wartość ujemną, liczba jest przycinana po lewej stronie przecinka dziesiętnego.

Przykłady

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

Praca z polami danych

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.

Funkcje daty

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

FunkcjaOpis

CURRENT_DATE

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

CURRENT_DATE

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

CURRENT_DATE

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

EXTRACT(unit FROM 'date')

Zwraca jedną część daty/czasu, na przykład rok, miesiąc, dzień, godzinę, minuty itd.

Na przykład

  • 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.

Obliczanie pól daty

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.

Dodawanie lub odejmowanie czasu od daty

W celu aktualizacji pola daty może być konieczne dodanie do niego lub odjęcie czasu lub obsługiwanego przez SQL literału daty. Na przykład można obliczyć datę przyszłej kontroli lub przeglądu, dodając czas do daty.

W celu dodania lub odjęcia czasu od daty można używać następujących obliczeń. W pierwszym są używane pola daty, a w drugim — wartości literałów daty. Można także używać pól liczbowych i literałów liczbowych. Obsługiwana jest dowolna kombinacja pól i literałów, co przedstawiono w trzecim i czwartym obliczeniu.

<DateField> +/- <NumberField> = updated date
DATE'<SQL-supported Date Literal>'  +/- <Number of Days> = updated date
<DateField> +/- <Number of Days> = updated date
DATE'<SQL-supported Date Literal >'  +/- <NumberField> = updated date

Obliczone pole daty to oryginalna data zwiększona lub pomniejszona o liczbę dni, które mają zostać dodane lub odjęte. Liczba dni może być liczbą całkowitą lub ułamkową — na przykład 1,5 oznacza półtora dnia, czyli 36 godzin.

W poniższym przykładzie część urządzenia jest instalowana 6/14/2016 o godzinie 10:00. Można użyć dowolnego z obliczeń w celu uzyskania daty kontroli przypadającej miesiąc (30 dni) po tej dacie instalacji. W pierwszym obliczeniu jest używane pole daty z wartością 6/14/2016 i pole liczbowe z wartością 30, a w drugim obliczeniu używany jest literał daty i literał liczbowy.

<MyDateField> + <MyNumberField> = 7/14/2016 10:00 AM
DATE'6/14/2016' + 30 = 7/14/2016 10:00 AM

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.

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/literału daty od drugiego pola/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 pól daty

Poniższe informacje trzeba mieć na uwadze podczas pracy z polami daty.

Zmiana formatu wyświetlania pola daty

W tabeli można zmieniać sposób wyświetlania dat. Tabele są wyświetlane zgodnie z ustawieniami formatowania skonfigurowanymi w oknach podręcznych. Format wyświetlania pól daty można zmienić, wybierając alias pola w oknie dialogowym Konfiguruj atrybuty dostępnym z poziomu okna Właściwości okien podręcznych.

Wpisywanie dat w formacie MM/DD/RRRR hh:mm:ss

Niezależnie od sposobu wyświetlania dat w tabeli, daty można wprowadzać wyłącznie w formacie MM/DD/RRRR hh:mm:ss, umieszczając je dodatkowo w cudzysłowach pojedynczych. Na przykład, aby ustawić w polu daty godzinę 17:00 oraz datę 27 maja 2014, należy wpisać '05/27/2014 05:00:00PM', '05/27/2014 5:00PM' lub '05/27/2014 17:00:00' (zegar 24-godzinny). Nie można przechowywać wyłącznie danych czasowych — czas musi zawsze być elementem daty.

Daty zapisywane w formacie UTC

Uniwersalny czas koordynowany (UTC) to format czasu praktycznie identyczny z czasem na południku zerowym Ziemi (zero stopni długości geograficznej) położonym w pobliżu Greenwich w Anglii. Format UTC jest dokładniejszą wersją formatu GMT (czas uniwersalny). Pola daty w tabelach dodanych do portalu jako elementy muszą zawierać informację o lokalnej strefie czasowej lub być określone w czasie UTC. Jeśli pole daty zawiera informację o lokalnej strefie czasowej, czas lokalny zostanie przekształcony do formatu UTC przed zapisaniem w bazie danych. Daty są przekształcane do formatu UTC, ponieważ fizycznie serwer hostujący dane może znajdować się w dowolnym miejscu na świecie. Przechowywanie daty i godziny zapisanej zgodnie z lokalną strefą czasową może prowadzić do wielu problemów, szczególnie w przypadku gdy nastąpi zmiana strefy czasowej, w której znajduje się użytkownik bądź serwer hostujący dane. Jeśli w tabelach dodanych jako elementy nie zostanie określona informacja o lokalnej strefie czasowej, pola daty powinny być określone w formacie UTC.

Przy każdym wyświetleniu pola daty w portalu data jest przekształcana z formatu UTC na czas lokalny. Ta operacja jest wykonywana poprzez przesłanie zapytania dotyczącego ustawienia strefy czasowej do komputera bieżącego użytkownika. Na przykład, załóżmy, że komputer jest ustawiony na czas pacyficzny (PST). Czas PST dzieli osiem godzin wstecz od czasu UTC — gdy dla czasu UTC jest godzina 09:00, dla czasu PST jest 01:00. Czas PST (lub godzina 02:00, jeśli obowiązuje czas letni).

Przyjmuje się, że wszystkie wyrażenia SQL reprezentujące datę są zgodne z czasem UTC, a nie czasem w danej strefie czasowej. Założenie to może prowadzić do pomyłek. Jeśli na przykład w komputerze z ustawioną strefą czasową PST zostanie wprowadzona data '05/27/2014 05:00:00PM', zostanie ona wyświetlana w postaci 5/27/2014 9:00AM ze względu na przeliczenie czasu opisane powyżej.

Poniżej podano kilka wskazówek dotyczących konwersji z czasu UTC na czas w lokalnej strefie czasowej:

  • Jeżeli konieczne jest wprowadzenie bieżącej daty i bieżącego czasu, skorzystaj z jednej z funkcji opisanych poniżej, ponieważ zawsze zwracają one czas w formacie UTC.
  • W przypadku wprowadzania daty bez elementu czasowego podawaj godzinę 12:00. Na przykład zamiast daty '5/27/2014' należy wpisać datę '5/27/2014 12:00PM' lub '5/27/2014 12:00'. Taki zapis jest niezbędny, ponieważ, w momencie gdy data jest podawana bez elementu czasowego, północ jest domyślną godziną dla tej daty (data 5/27/2014 jest konwertowana do postaci 5/27/2014 00:00:00). Gdy data ta jest wyświetlana zgodnie z czasem lokalnym, dodawana lub odejmowana jest odpowiednia liczba godzin. Jeśli na przykład Twoja strefa czasowa to PST i wprowadzisz datę 5/27/2014, zostanie ona wyświetlona jako 5/26/2014 (siedem godzin wcześniej w stosunku do północy 27 maja).
  • W przypadku wprowadzania daty bez elementu czasowego uwzględniaj różnicę czasową w stosunku do odpowiedniej godziny. Aby na przykład wprowadzić wartość 5/27/2014 12:00 PM PST, należy zastosować różnicę 8 godzin i wpisać '5/27/2014 8:00PM'. Różnicę między czasem lokalnym a UTC można sprawdzić w sieci, korzystając ze słów kluczowych, takich jak czas UTC kalkulator.
  • Aby wyświetlić zawartość pola daty w czasie UTC, do tabeli można dodać pole znakowe i określić jego wartość tak, aby była zgodna z wartością w polu daty. Data zostanie przekształcona na ciąg bez różnicy czasu względem strefy czasowej. Ciąg znakowy będzie zawierał czas w milisekundach.

Ograniczenia

  • Funkcje Dodaj pole, Usuń i Oblicz są dostępne wyłącznie dla hostowanych warstw obiektowych i tabel.
  • Funkcje Dodaj pole, Usuń i Oblicz nie są dostępne dla kopii warstw ani dla hostowanych warstw obiektowych, które mają powiązane warstwy kafli.
  • Funkcje Dodaj pole i Usuń nie są dostępne dla widoków hostowanych warstw obiektowych.
  • Funkcje Usuń i Oblicz nie są dostępne dla hostowanych czasowo-przestrzennych warstw obiektowych.
  • Funkcje Dodaj pole, Usuń i Oblicz nie są dostępne dla widoków utworzonych z hostowanych warstw obiektów czasowo-przestrzennych.
  • Funkcja Usuń nie jest dostępna dla pola OBJECTID ani pól używanych do konfiguracji symboli, suwaka czasu, filtrów, etykiet i śledzenia edycji. Należy jednak pamiętać, że w przypadku innych map do określania symboli i filtrów mogą być używane inne pola niż pola używane przez tę mapę. W przypadku tego typu pól polecenie Usuń jest dostępne. Należy zachować ostrożność podczas usuwania pól, które mogą być używane przez inne mapy do określania ustawień symboli i filtrowania.
  • Podczas dodawania pola do hostowanej warstwy obiektowej, dla której istnieją zależne widoki hostowanej warstwy obiektowej, należy zaktualizować definicję każdego widoku, w którym ma być widoczne to nowe pole.
  • Funkcja Oblicz jest obsługiwana tylko dla pól znakowych i pól typu liczba całkowita, liczba podwójnej precyzji lub data.
  • Podczas obliczania obsługiwane są tylko standardowe kwerendy SQL.
  • Nie można cofnąć obliczeń wartości pola.