Usługa ArcGIS Online wymaga od deweloperów korzystania ze standardowych zapytań SQL podczas wykonywania zapytań dotyczących hostowanych warstw obiektowych. Ułatwia to deweloperom i aplikacjom obsługę zapytań dotyczących hostowanych warstw obiektowych i pomaga w zapobieganiu atakom polegającym na wprowadzaniu kodu SQL. Wszystkie aplikacje ArcGIS automatycznie obsługują standardowe zapytania SQL.
Ograniczenia związane z zapytaniami standardowymi
- Korzystanie z zapytań standardowych jest konfigurowane dla całej instytucji, nie można go wyłączyć dla niektórych warstw.
- Standardowe zapytania nie są obsługiwane dla połączeń między różnymi przestrzeniami roboczymi.
- Zapytania podrzędne w postaci klauzuli WHERE, na przykład POP_2010 = (SELECT min(POP_2010) FROM counties, nie są obsługiwane.
- Zapytania usług baz danych, na przykład Microsoft Azure SQL Database, również nie są obsługiwane.
Jakie funkcje SQL są obsługiwane w usłudze ArcGIS Online?
Jeśli jesteś deweloperem aplikacji obecnie używającym składni klauzuli WHERE specyficznej dla określonej bazy danych, musisz zaktualizować klauzule WHERE w kodzie aplikacji, tak aby zastosowana została standardowa składnia SQL obsługiwana w usłudze ArcGIS Online. Poniższe tabele zawierają obsługiwane funkcje SQL oraz składnię każdej z nich. Gdy następujące funkcje i składnie są używane w Twoich aplikacjach, serwis ArcGIS Online przekształca je, aby były zgodne z wymogami bazy danych używanej przez warstwę obiektów.
Funkcje daty
Funkcja | Opis |
---|---|
CURRENT_DATE() | Zwraca bieżącą datę jako czas UTC. Sposób przedstawienia zależy od używanej aplikacji klienckiej. W usłudze ArcGIS Online daty są wyświetlane zgodnie ze strefą czasową danej instytucji lub profilu. |
CURRENT_TIME() | Zwraca datę i czas w formacie UTC (w godzinach, minutach i sekundach). Sposób przedstawienia zależy od używanej aplikacji klienckiej. W usłudze ArcGIS Online czas jest wyświetlany jako czas lokalny danej instytucji lub profilu. |
CURRENT_TIMESTAMP() | Zwraca datę i czas w formacie UTC (w godzinach, minutach, sekundach i milisekundach). Sposób przedstawienia zależy od używanej aplikacji klienckiej. W usłudze ArcGIS Online czas jest wyświetlany jako czas lokalny danej instytucji lub profilu. |
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
|
Funkcje liczbowe
Funkcje ciągów znakowych
Funkcja | Opis |
---|---|
CHAR_LENGTH(<string>) | Zwraca liczbę znaków w podanym ciągu znakowym. Wynik ma postać liczby całkowitej. Przykład
|
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
Wartości puste są przekształcane do pustych ciągów znakowych. |
POSITION(<substring>, <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
|
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
|
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
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
|
LOWER(<string>) | Zwraca ciąg znakowy, w którym wszystkie znaki są zapisane małymi literami. Przykład
|