I calcoli del campo consentono al proprietario del feature layer hosted o ad un amministratore dell’organizzazione di modificare contemporaneamente i valori di ogni riga per un campo specifico nella tabella degli attributi di un layer.
Ad esempio, se si dispone di un feature layer hosted che memorizza informazioni sulle vendite di proprietà, inclusi il prezzo di vendita e l'aliquota fiscale per la posizione della proprietà, è possibile aggiungere un campo al layer per archiviare le imposte stimate sul patrimonio. Per compilare il campo estimated_property_taxes, definire un'espressione di calcolo per il campo che accetta i valori nel campo sale_price e li moltiplica per i valori di tax_rate.
Si hanno due opzioni per scrivere espressioni di calcolo su campi in layer in un feature layer hosted:
- ArcGIS Arcade:Arcade è ideale per i calcoli che richiedono più funzionalità che SWL, in quanto Arcade fornisce accesso ai valori di attributi e geometria di feature, consentendo di creare espressioni che includono operazioni spaziali. Inoltre, se si verifica un errore durante il calcolo di una determinata riga, è possibile arrestarsi e risolvere il problema per riavviare il calcolo dopo aver risolto il problema.
Nota:
ArcGIS API for JavaScript 3.44 e le versioni successive non saranno aggiornate con le funzioni lingua di ArcGIS Arcade più recenti. Le espressioni di Arcade create nelle app JavaScript API a partire dalla versione 3.44 o nelle versioni successive supporteranno esclusivamente feature lingua di Arcade introdotte nella versione 1.21 o precedente di Arcade. Per maggiori informazioni sul supporto per la lingua di Arcade nei prodotti ArcGIS consultare la matrice della versione di Arcade .
- SQL: utilizzare SQL per le prestazioni più veloci con calcoli che possano essere eseguiti con espressioni SQL (SQL-92) standardizzate su attributi non spaziali. È possibile eseguire SQL su feature layer hosted abilitati per la sincronizzazione e layer configurati per tenere traccia dei creatori e degli editor di feature, mentre non è possibile eseguire espressioni Arcade su tali layer.
La sezione seguente spiega come calcolare i valori per un campo dalla pagina dell'elemento di un feature layer ospitato. Le sezioni successive forniscono alcuni esempi dei calcoli più comuni.
Calcola valori per un campo dalla pagina degli elementi
Seguire questi passaggi per calcolare i valori dei campi stringa, numerici o data in un campo da una pagina degli elementi del feature layer.
Nota:
Il calcolo dei campi non può essere annullato. Per tale motivo, è preferibile aggiungere un campo, calcolare i valori all'interno e confermare che il calcolo sia quello desiderato. In caso affermativo, è possibile calcolare che il campo originale sia uguale al campo aggiunto. Una volta verificato che i valori siano corretti nel campo originale, è possibile eliminare il campo aggiunto.
- Dalla pagina dell'elemento del layer, fare clic sulla scheda Dati per visualizzare la tabella.
- Fare clic sulla colonna contenente i valori che si desidera calcolare.
- Eseguire una delle seguenti operazioni per aprire la finestra di dialogo Calcola campo:
- Fare clic su Calcola.
- Fare clic su Mostra vista dettagliata > Calcola.
- Scegliere il linguaggio da utilizzare per il calcolo, Arcade o SQL.
Se il feature layer ospitato è abilitato per la sincronizzazione o è configurato per tenere traccia di coloro che creano e aggiornano le feature, questa pagina non viene visualizzata. Al suo posto viene visualizzata la finestra SQL.
- Comporre un'espressione di calcolo.
- Per SQL, utilizzare operatori di base, elenco campi e funzioni. Fare clic sul pulsante Convalida per assicurarsi che non vi siano errori nell’espressione. Se l'espressione non è valida, fare clic sul pulsante Rimuovi e comporne una nuova. Quando l’espressione è completa e valida, fare clic su Calcola.
- Per Arcade, usare variabili globali, funzioni e costanti. Fare clic su OK per eseguire l'espressione. Se si verifica un errore quando si esegue l'espressione, è possibile fare clic su Revisione errore per aprire la finestra dell'espressione, in modo da poter correggere l'errore. In caso contrario, fare clic su Annulla. Se si corregge l'espressione e la si esegue di nuovo, il calcolo si riavvia.
Il tempo necessario per il completamento del calcolo dipende dalla complessità dell'espressione e dal numero di feature nel layer.
Esempi di calcoli
Le sezioni seguenti forniscono esempi di sintassi per l'esecuzione di calcoli comuni in ArcGIS Online.
Eseguire un'operazione matematica con i valori numerici di due campi esistenti per popolare un terzo campo
Uno dei calcoli più comuni da eseguire consiste nel derivare un nuovo valore numerico in base a valori esistenti nel feature layer. Ad esempio, si può sottrarre il totale delle vendite di un anno per tutti i punti vendita dal totale delle vendite di un altro anno per trovare la differenza di profitto da un anno all'altro, oppure dividere il numero totale di residenti di età inferiore ai 18 anni per il totale della popolazione per determinare la frazione di popolazione di età inferiore a 18 anni.
Esempi Arcade
Calcolare la differenza tra i valori di due campi numerici, Sales2016 e Sales2017, per compilare un campo numerico.
$feature.Sales2016 - $feature.Sales2017
Esempi di SQL
Compilare un campo numerico con un numero decimale che è il risultato del calcolo della porzione di popolazione di età inferiore a 18 anni.
PopUnder18/TotalPop
Concatenare valori stringa da campi esistenti in un nuovo campo stringa
Un altro calcolo che popola un nuovo campo comporta la combinazione di valori da campi stringa esistenti. Ad esempio, se si dispone di due campi stringa per la posizione delle stanze in un hotel (Floor e Room) e si desidera combinarli in un campo stringa che li contiene entrambi.
Negli esempi seguenti, i valori dei campi Floor e Room piano saranno combinati in un unico campo.
Esempio Arcade
Concatenate($feature.room,$feature.floor)
Esempio di SQL
CONCAT(Floor,Room)
Eliminare gli spazi finali o iniziali dai campi stringa
Quando gli utenti digitano o incollano i valori in un campo durante le modifiche, è possibile che commettano errori o che lascino uno spazio finale o iniziale nel testo. È possibile eliminare questi errori limando i valori.
In questi esempi, l'editor ha lasciato uno spazio aggiuntivo quando ha incollato New Hampshire nel campo dei nomi degli stati, pertanto occorre eliminare lo spazio dalla fine della stringa.
Esempio Arcade
Trim('New Hampshire ')
Esempio di SQL
Trim(TRAILING ' ' FROM 'New Hampshire ')
Compilare un campo con valori diversi a seconda dei valori in un altro campo
A volte il valore che si desidera aggiungere in un campo varia in base alla feature e dipende da un altro valore presente nella stessa feature. Ad esempio, è possibile aggiungere un campo stringa al feature layer per memorizzare il testo che descrive un valore stringa numerico o abbreviato in un altro campo. Come l'interfaccia di calcolo SWL non supporta questo, usare Arcade per questi tipi di calcoli.
Esempio Arcade
L'esempio di seguito scrive in modo condizionale diversi valori stringa (Nessuno, Basso, Alto o Altro) in un campo di testo basato su un numero in un altro campo nel layer (HowMany).
When(
$feature.HowMany == 0, "None",
$feature.HowMany == 1, "Low",
$feature.HowMany == 2, "High",
"Other")
Sostituire un valore con un altro
Se è necessario sostituire un valore esistente con un altro, ad esempio, se il modo in cui si rappresenta un determinato valore è stato modificato o è necessario correggere i valori digitati erroneamente, è possibile trovare tutti i valori esistenti per un campo e sostituirli con un nuovo valore. Come l'interfaccia di calcolo SWL non supporta questo, usare Arcade per questi tipi di calcoli.
Attenzione:
I calcoli vengono salvati immediatamente nel feature layer. Se si sovrascrive un valore esistente per errore, sarà necessario eseguire nuovamente il calcolo per modificare il valore.
Esempio Arcade
Questo esempio usa la funzione Sostituisci per cambiare l'ortografia britannica (colore) con l'ortografia statunitense.Replace($feature.color, 'colour', 'color')
Determina la densità di un attributo numerico per feature areali
Per calcolare la densità di un attributo in un'area, usare un'espressione Arcade, dato che non è possibile eseguire i calcoli SQL sul campo spaziale dall'interfaccia del calcolo.
Esempio Arcade
Questo esempio determina la densità di popolazione per feature dividendo il valore totale della popolazione (TotalPop) per l'area in miglia quadrate della feature poligonale:
$feature.TotalPop / Area ($feature,
'square-miles')
Derivare la coordinata per una feature puntuale
È possibile usare un'espressione Arcade per restituire le coordinate di longitudine e latitudine per i campi spaziali in un layer feature hosted che contiene solo punti.
Questo tipo di calcolo non è supportato per i campi spaziali nell'interfaccia di calcolo.
Esempio Arcade
In questo esempio viene calcolato un campo per la coordinata x per ogni punto in un layer puntuale usando la funzione Geometria.
Geometry($feature).x
Aggiungere o sottrarre tempo da una data
Potrebbe essere necessario aggiungere o sottrarre tempo da un campo data o un valore letterale data per produrre un campo data aggiornato. Ad esempio, è possibile calcolare una data di ispezione o revisione futura aggiungendo tempo a una data.
Esempio Arcade
In questo esempio viene usata la funzione DateAdd per aggiungere sette giorni a una data e ottenere la data della settimana successiva.var startDate = Date($feature.dateField);
var oneWeekLater = DateAdd(startDate, 7, 'days');
return oneWeekLater;
Esempi di SQL
I seguenti calcoli possono essere utilizzati per aggiungere o sottrarre tempo da un campo data o utilizzando un valore letterale data supportato da SQL. Il primo utilizza campi data e il secondo utilizza valori letterali data. Possono anche essere utilizzati campi numerici e valori letterali numerici. È supportata qualsiasi combinazione di campi e valori letterali, come mostrato nel terzo e nel quarto calcolo.<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
Il campo data calcolato è la data originale più o meno il numero di giorni da aggiungere o sottrarre. Il numero di giorni può essere un numero intero e includere una frazione. Ad esempio, 1,5 rappresenta un giorno e mezzo o 36 ore.
Nel seguente esempio, una parte di macchinario è installato il 14/06/2016 alle 10:00. È possibile utilizzare uno dei seguenti calcoli per produrre una data di ispezione un mese (30 giorni) dopo questa data di installazione. Il primo calcolo utilizza un campo data con un valore 6/14/2016 e un campo numerico con un valore di 30, mentre il secondo utilizza un valore letterale data e un valore letterale numerico.<MyDateField> + <MyNumberField> = 7/14/2016 10:00 AM
DATE'6/14/2016' + 30 = 7/14/2016 10:00 AM
Calcolare la differenza fra due date
Potrebbe essere necessario calcolare l'intervallo di tempo tra due date. Ad esempio, se si dispone delle date di installazione di contatori elettrici e anche delle date di ispezione, è possibile calcolare la differenza tra le date per verificare che l'intervallo di tempo tra l'installazione e l'ispezione rispetti le linee guida ammissibili. Il risultato del calcolo è un campo numerico anziché un campo data.
Esempio Arcade
Nell'esempio seguente viene usata la funzione DateDiff per calcolare l'età di una persona trovando la differenza tra una data corrente (endDate) e la data di nascita della persona (startDate):var startDate = Date($feature.startDateField);
var endDate = Date($feature.endDateField);
var age = DateDiff(endDate, startDate, 'years');
return age;
Esempi di SQL
Qualsiasi combinazione di campi data e valori letterali data può essere utilizzata per calcolare l'intervallo di tempo tra due date. Il primo calcolo sottostante utilizza un campo data, mentre il secondo utilizzata un valore letterale data. Il terzo e il quarto calcolo utilizzano sia un campo data sia un valore letterale data.<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
Il risultato è un campo numerico che viene calcolato sottraendo un campo data o valore letterale da un altro campo data o valore letterale. Il risultato numerico (in giorni) può essere un numero intero e anche includere una frazione. Ad esempio, 1,5 rappresenta un giorno e mezzo o 36 ore.
Nell'esempio di ispezione del contatore elettrico citato in precedenza, qualsiasi calcolo può essere utilizzato per calcolare l'intervallo di tempo tra una data di installazione di 6/1/2015 e una data di ispezione di 10/1/2015. Il primo calcolo utilizza campi data, il secondo utilizza valori letterali data e il terzo e il quarto utilizzando sia un campo data sia un valore letterale data.<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)
Considerazioni sul calcolo dei valori di campo
- Quando si calcolano i valori per un layer in Map Viewer classico e si dispone di un filtro sul layer, solo i record che soddisfano i criteri del filtro saranno calcolati.
- Quando si scrivono espressioni SQL, Calcola campo funziona solo con i nomi di campo e non con gli alias. Nell'elenco Campi sono visualizzati tutti i nomi di campi disponibili per i calcoli. È possibile filtrare questo elenco per tipi di campo Stringa, Numerico e Data.
- Se si passa con il puntatore del mouse su un nome di campo nell'elenco Campi, verranno visualizzati l'alias e il tipo di campo.
- Se si fa clic su un nome di campo nell'elenco Campi, il campo verrà aggiunto all'espressione.
- Non è possibile calcolare valori campo in copie di feature layer hosted o per feature layer hosted con Tile Layer correlati.
- I valori calcolati non vengono propagati dal Feature Layer hosted né visualizzati sui Feature Layer hosted dipendenti.
- La formattazione specifica locale non è supportata per numeri in espressioni SQL. Ad esempio, è necessario utilizzare un separatore di punti decimali per i valori della tabella di attributi, piuttosto che un separatore di virgola, quando le impostazioni internazionali sono impostate su Spagna.
- Non è possibile utilizzare la funzione numerica MOD su campi doppi. Convertire il campo in un numero intero come mostrato nell’esempio.
- Non è possibile scrivere espressioni Arcade per layer feature hosted che hanno la sincronizzazione abilitata o sono configurati per tracciare chi ha creato e aggiornato l'ultima volta le feature.
- Non è possibile utilizzare Arcade per calcolare i valori per i seguenti tipi di dati di campo nella pagina dell'elemento del feature layer:
- Intero grande
- Solo data
- Solo ora
- Offset timestamp
Nota:
Quando un feature layer ospitato contiene questi tipi di dati, i calcoli di Arcade sono disabilitati per l'intero feature layer ospitato, inclusi i sublayer che non contengono tipi di dati non supportati.
Riferimento SQL (SQL-92) standardizzato
Quando si scrive un'espressione SQL per calcolare valori di campo, è necessario utilizzare un SQL standardizzato. Questa sezione fornisce un elenco degli operatori e delle funzioni SQL che è possibile utilizzare per i calcoli SQL in ArcGIS Online.
Dopo aver creato un'espressione SQL, fare clic sul pulsante Calcolare. Se si verificano errori, viene visualizzato un messaggio di errore nella parte inferiore della finestra di dialogo. Correggere la sintassi dell'espressione ed eseguire nuovamente il calcolo.
Operatori
Nella finestra di dialogo Calcola campo è possibile creare semplici espressioni SQL utilizzando operatori come somma, sottrazione, moltiplicazione e divisione. Esempi e suggerimenti per utilizzare questi operatori come segue:
- Per moltiplicare per 100,0 i valori numerici in un campo numerico denominato SAMPLE, digitare SAMPLE * 100.0 per l’espressione.
- Per equazioni più complesse, è possibile utilizzare le parentesi per specificare l'ordine dei calcoli, ad esempio SAMPLE * (BASELINE - 40).
- Gli operatori matematici non funzionano con i campi stringa. Sarà necessario utilizzare le funzioni stringa descritte nella sezione Funzioni stringa.
- Se si intende calcolare un campo di tipo doppio in un campo di tipo intero, è possibile che all'espressione venga aggiunta automaticamente la funzione CAST. Ad esempio, se si intende calcolare un campo double denominato POP in un campo di valore intero denominato SAMPLE, l'espressione visualizzata sarà CAST(SAMPLE AS FLOAT). Non rimuovere la funzione CAST. Vedere la sezione Funzioni numeriche di seguito per informazioni sulla funzione CAST.
- Per includere un apostrofo nella stringa, utilizzare due virgolette singole come apostrofo. Ad esempio, 'Nightingale''s'. Non utilizzare una virgoletta doppia.
Funzioni
Oltre a semplici espressioni con operatori, è anche possibile utilizzare anche le funzioni per creare espressioni SQL. Le funzioni possono essere utilizzate con nomi di campo, valori letterali e altre funzioni. Si supponga ad esempio di dover calcolare un campo di tipo double da TOTALPOP diviso per POP18. Se un valore POP18 di una feature è uguale a zero, il calcolo restituirà un errore di divisione per zero. Per evitare tale errore, è possibile utilizzare la funzione NULLIF descritta di seguito. L'espressione sarà TOTALPOP / NULLIF(POP18, 0).
Le funzioni accettano argomenti. Nelle tabelle seguenti qualsiasi argomento può essere uno dei seguenti:
- Un nome di campo, purché il tipo di campo corrisponda al tipo di argomento (stringa, numero o data).
- Un valore letterale, come "Barca a vela" (una stringa circondata da virgolette singole), il numero 5, una data nel formato MM/GG/AAAA hh:mm:ss o AAAA-MM-GG, o un'ora nel formato HH:MM:SS, circondata da virgolette singole.
- Una funzione che restituisce un valore di tipo corretto (stringa, numero o data). Ad esempio, FLOOR(POWER(SAMP_ERR, 0.5)) restituisce il valore intero massimo minore o uguale alla radice quadrata di SAMP_ERR.
A scopo illustrativo, negli esempi della colonna Descrizione delle seguenti tabelle vengono utilizzati principalmente argomenti di tipo valore letterale. È possibile sostituire il nome di un campo o un'altra funzione per questi argomenti.
Funzioni data
Sui campi data è possibile eseguire diversi calcoli. Ad esempio, è possibile aggiungere o sottrarre tempo da una campo data o calcolare la differenza tra due campi data.
Prima di lavorare con i campi data, si consiglia di leggere queste importanti considerazioni.
Durante il calcolo dei campi data è possibile utilizzare qualsiasi combinazione di campi data e numerici e valori letterali. Quando si utilizzano valori letterali data, occorre utilizzare formati data supportati da SQL.
Sono disponibili le seguenti funzioni data:
Funzione | Descrizione |
---|---|
CURRENT_DATE() | Restituisce la data corrente nel fuso UTC. Il valore visualizzato dipende dal client in uso. In ArcGIS Online, le date sono mostrate nel fuso orario della tua organizzazione o profilo. |
CURRENT_TIME() | Restituisce data e ora UTC correnti (ore, minuti, secondi). Il valore visualizzato dipende dal client in uso. In ArcGIS Online, l'ora viene visualizzata nell'ora locale della tua organizzazione o profilo. |
CURRENT_TIMESTAMP() | Restituisce data e ora UTC correnti (ore, minuti, secondi, millisecondi). Il valore visualizzato dipende dal client in uso. In ArcGIS Online, l'ora viene visualizzata nell'ora locale della tua organizzazione o profilo. |
EXTRACT(<unit> FROM <date>) | Restituisce una singola parte (<unit>) del <date> specificato. I possibili valori di <unit> includono, ma non sono limitati a, year, month, day, hour e minute. I seguenti esempi estraggono diverse unità dal valore di data e ora 2016-12-21 15:11:
|
Funzioni numeriche
Funzione | Descrizione |
---|---|
ABS(<number>) | Restituisce il valore assoluto (positivo) del numero specificato. |
CAST(<number> AS FLOAT | INT) | Converte un numero in un tipo diverso. FLOAT converte il numero specificato in valore double e INT lo converte in un numero intero. Nel primo esempio seguente, il numero viene convertito in un numero intero. Poiché si tratta di numeri interi, il risultato è 1424. Nel secondo esempio, un intero viene convertito in float, risultando in un numero con posizioni decimali: 1424,0
|
CEILING(<number>) | Restituisce il numero intero più piccolo maggiore o uguale al numero specificato. Il seguente esempio restituisce 13: CEILING(12.93) |
COS(<number>) | Restituisce il coseno trigonometrico di <number>, che si presume sia un angolo in radianti. |
FLOOR(<number>) | Restituisce il valore intero massimo minore o uguale al numero specificato. Il seguente esempio restituisce 12: FLOOR(12.93) |
LOG(<number>) | Il logaritmo naturale del numero specificato. |
LOG10(<number>) | Il logaritmo in base 10 del numero specificato. |
MOD(<number>, <n>) | Restituisce il resto dopo il dividendo (<numero>) è suddiviso dal divisore <n>. Sia <n> che <numero> devono essere valori di tipo intero. Gli esempi includono:
|
NULLIF(<number>, <value>) | Restituisce null se il numero specificato è uguale al valore specificato. NULLIF generalmente viene utilizzato per impedire errori di divisione per zero impostando <value> a 0. Ogni volta che un calcolo rileva un valore del campo null in uno degli argomenti, il risultato del calcolo è null. Si supponga ad esempio di dover calcolare un campo di tipo double da TOTALPOP diviso per POP18. Se una feature ha un valore POP18 uguale a zero, il calcolo restituirà un errore di divisione per zero. È possibile creare un filtro per nascondere i record in cui POP18 è zero ed eseguire il calcolo. Un metodo rapido consiste nell'utilizzo di NULLIF: TOTALPOP / NULLIF(POP18, 0): restituisce null se POP18 è uguale a zero, altrimenti viene restituito il valore di TOTALPOP / POP18. |
POWER(<number> , <y>) | Restituisce il valore del numero specificato elevato alla potenza specificata (<y>). L'esempio seguente restituisce 32768: POWER(8,5) |
ROUND(<number> , <length>) | Arrotonda il numero specificato alla lunghezza specificata. Se si utilizza un numero positivo per <length>, il numero viene arrotondato alla posizione decimale a destra del punto decimale. Quando <length> è un numero negativo, il <number> specificato viene arrotondato sul lato sinistro della virgola decimale. Di seguito sono riportati alcuni esempi:
|
SIN(<number>) | Restituisce il seno trigonometrico del <number> specificato, che si presume sia un angolo in radianti. |
TAN(<number>) | Restituisce la tangente del <number> specificato, che si presume sia un angolo in radianti. |
TRUNCATE(<number>,<decimal_place>) | Tronca il <number> al <decimal_place> specificato. Un <decimal_place> positivo viene troncato alla posizione decimale specificata. Quando <decimal_place> è un numero negativo, il <number> viene troncato sul lato destro della virgola decimale. Nel primo esempio, i numeri a destra della posizione decimale sono troncati per includere solo due numeri, risultando nel valore 111,99. Nel secondo esempio, i numeri a sinistra della posizione decimale sono troncati, risultando nel valore 100,00.
|
Funzioni stringa
Funzione | Descrizione |
---|---|
CAST(<string> AS DATE | TIME) | Converte la stringa in una data o in un'ora, se il valore della stringa è in un formato supportato. Se la stringa è nel formato "MM/GG/AAAA hh:mm:ss" o "AAAA-MM-GG", è possibile trasformarla in una data. Se la stringa è nel formato "HH:MM:SS", è possibile eseguire la fusione con il tipo di dati "solo tempo" (TIME). Ad esempio, la seguente stringa può essere trasformata in una data: CAST('1988-05-30' AS DATE) |
CHAR_LENGTH(<string>) | Restituisce il numero di caratteri nella stringa specificata. Il risultato è un valore intero. Ad esempio, la seguente istruzione restituisce 8: CHAR_LENGTH('Redlands') |
CONCAT(<string1>, <string2>) | Concatena due valori stringa. È possibile specificare solo due stringhe. Per concatenare più di due stringhe, nidificare funzioni CONCAT consecutive come mostrato di seguito. Il primo esempio seguente concatena le lettere A e B. Il secondo esempio mostra una funzione CONCAT nidificata per concatenare tre valori stringa: A, : e B.
I valori Null vengono convertiti in una stringa vuota. |
CURRENT_USER | Quando la funzione CURRENT_USER è inclusa in un'interrogazione, si comporta in modo simile a una variabile; il nome utente dell'utente che accede al feature layer ospitato o vista del feature layer ospitato viene identificato e utilizzato nell'interrogazione. Ad esempio, se l'utente, planner3, ha effettuato l'accesso all'organizzazione per accedere a una vista di feature layer ospitato che contiene la seguente definizione di interrogazione, solo le feature in cui il campo del membro del personale contiene il valore planner3 vengono restituite all'utente in connessione: staffmember=current_user Nel prossimo esempio, più valori sono memorizzati nel campo membro del personale. La seguente clausola where trova il nome utente corrente nel valore di testo del campo membro del personale, anche se vi sono memorizzati più nomi utente: where=position(current_user in staffmember)>0 |
POSITION(<substring>, <string>) | Restituisce la posizione della prima occorrenza della sottostringa specifica nella stringa specificata. Se la sottostringa specifica non viene trovata, il risultato è 0. Nel primo esempio seguente, il risultato è 5, poiché la prima lettera (b) della sottostringa (boat) è la quinta lettera nella stringa (Sailboat). Nel secondo esempio, il risultato è 0, poiché la sottostringa (motor) non è presente nella stringa.
|
SUBSTRING(<string>, <start>, <length>) | Restituisce una parte di un valore stringa; <start> è un indice intero che specifica l'inizio dei caratteri restituiti e <length> è il numero di caratteri da restituire. Vedere i seguenti esempi:
|
TRIM(BOTH | LEADING | TRAILING ' ' FROM <string>) | Restituisce una stringa in cui tutti gli spazi iniziali e finali vengono rimossi dalla stringa specificata. Nell'esempio seguente, esiste uno spazio prima e dopo la stringa, San Bernardino. La parola chiave BOTH è utilizzata per ritagliare la stringa di spazio (indicata utilizzando due singoli punti di domanda con uno spazio tra di loro) dall'inizio e dalla fine della stringa di testo: TRIM(BOTH ' ' FROM ' San Bernardino ') Il risultato è la stringa 'San Bernardino'. |
UPPER(<string>) | Restituisce una stringa in cui tutti i caratteri vengono convertiti in maiuscolo. In questo esempio, tutte le lettere nella stringa Sailboat vengono convertite in maiuscole, risultando nella stringa 'SAILBOAT'. UPPER('Sailboat') |
LOWER(<string>) | Restituisce una stringa in cui tutti i caratteri vengono convertiti in minuscolo. Nell'esempio successivo, 'sailboat' viene restituito: LOWER('Sailboat') |