Uso delle virgolette nello script
Ultimo aggiornamento: 30/09/2026
Le virgolette possono essere utilizzate nelle istruzioni di script in diversi modi.
All'interno delle istruzioni LOAD
In un'istruzione LOAD per le virgolette occorre utilizzare i simboli seguenti:
| Descrizione | Simbolo | Punto del codice | Esempio |
|---|---|---|---|
|
virgolette doppie |
" " | 34 | "stringa" |
| parentesi quadre | [ ] | 91, 93 | [stringa] |
| accenti gravi | ` ` | 96 | `stringa` |
| Descrizione | Simbolo | Punto del codice | Esempio |
|---|---|---|---|
| virgolette singole |
' ' |
39 | 'stringa' |
Nelle istruzioni SELECT
L'utilizzo potrebbe variare per un'istruzione SELECT interpretata da un driver ODBC. In generale, si consiglia di utilizzare le virgolette doppie diritte (Alt + 0034) per i nomi di campi e tabelle e di utilizzare le virgolette singole diritte (Alt + 0039) per i valori letterali evitando di utilizzare gli accenti gravi. Tuttavia, alcuni driver ODBC non solo accettano gli accenti gravi bensì li preferiscono. In questo caso, le istruzioni SELECT generate contengono virgolette con accenti gravi.
Microsoft Access esempio di virgolette
Microsoft Access ODBC Driver 3.4 (incluso in Microsoft Access 7.0) accetta le seguenti virgolette per l'analisi dell'istruzione SELECT:
Nomi di campi e tabelle:
- [ ]
- " "
- ` `
Stringhe letterali:
- ' '
Altri database potrebbero utilizzare convenzioni diverse.
All'esterno delle istruzioni LOAD
All'esterno dell'istruzione LOAD, dove Qlik Sense prevede un'espressione, le virgolette doppie indicano un riferimento a una variabile e non un riferimento di campo. Se si utilizzano virgolette doppie, la stringa racchiusa verrà interpretata come una variabile e verrà utilizzato il valore della variabile.
Riferimenti di campo e riferimenti di tabella fuori contesto
Alcune funzioni di script fanno riferimento ai campi che sono già stati creati o che si trovano nell'output di un'istruzione LOAD, ad esempio Exists() e Peek(). Questi riferimenti vengono chiamati riferimento di campo fuori contesto, a differenza dei riferimenti di campo delle sorgente che si riferiscono ai campi in contesto, vale a dire, nella tabella di input dell'istruzione LOAD.
I riferimenti di campo e i riferimenti di tabella fuori contesto devono essere considerati valori letterali e perciò richiedono virgolette singole.
Differenze fra nomi e valori letterali
La differenza fra nomi e valori letterali diventa più chiara confrontando gli esempi seguenti:
'Sweden' as Country
Quando questa espressione viene utilizzata come parte dell'elenco di campi in un'istruzione LOAD o SELECT, la stringa di testo "Sweden" verrà caricata come valore di campo nel campo "Qlik Sense" di Country".
"land" as Country
Quando questa espressione viene utilizzata come parte dell'elenco di campi in un'istruzione LOAD o SELECT, il contenuto del campo del database o della colonna della tabella denominata "land" verrà caricato come valori di campo nel campo Qlik Sense "Country". Ciò significa che land verrà trattato come riferimento di campo.
Differenza fra numeri e stringhe letterali
La differenza fra numeri e stringhe letterali diventa più chiara confrontando gli esempi seguenti.
'12/31/96'
Quando questa stringa viene utilizzata come parte di un'espressione, in un primo passaggio verrà interpretata come la stringa di testo "12/31/96", che a sua volta può venire interpretata come una data se il formato della data è 'MM/DD/YY'. In tale caso, verrà memorizzata come valore duale sia con una rappresentazione numerica che con una rappresentazione testuale.
12/31/96
Quando questa stringa è utilizzata come parte di un'espressione, verrà interpretata numericamente come 12 divisa per 31 divisa per 96.
Uso di caratteri di delimitazione nelle stringhe
Quando una stringa contiene virgolette o altri caratteri che possono essere utilizzati come delimitatori, è importante indicare chiaramente dove la stringa comincia e dove finisce. Se la stringa non viene delimitata correttamente, lo script restituirà errori o caricherà i dati in modo non corretto.
Vi sono due modi per delimitare una stringa contenente caratteri di delimitazione.
Utilizzare un carattere specifico per delimitare la stringa
Scegli un segno di virgolette non utilizzato all'interno della stringa e usalo per racchiudere l'intera stringa. Qlik Sense userà quel segno di virgolette specifico per determinare dove la stringa inizia e finisce.
Per racchiudere l'intera stringa possono essere utilizzati i caratteri seguenti:
- Virgolette doppie " "
- Parentesi quadre [ ]
- Accenti gravi ` `
- Virgolette singole ' '
[Table '1 "2"]
Per delimitare la stringa sono usate le parentesi quadre. La stringa viene caricata come: Table '1 "2"
'string `Name1` "Name2'
Per delimitare la stringa sono usate le virgolette singole. La stringa verrà caricata come: stringa `Nome1` "Nome2
Utilizzare caratteri di escape
I caratteri di escape sono un'istanza aggiuntiva del carattere utilizzato per delimitare la stringa. Devono essere aggiunti accanto a ogni istanza del carattere di delimitazione contenuto all'interno della stringa. Quando in una stringa vengono utilizzati tutti i tipi di caratteri di delimitazione, è necessario aggiungere un corrispondente carattere di escape accanto a ogni istanza del carattere utilizzato per delimitare la stringa. I caratteri di escape sono inoltre utili se si desidera utilizzare come delimitatore un carattere già presente nella stringa.
Come caratteri di escape possono essere utilizzati solo i caratteri seguenti:
- Virgolette doppie " "
- Parentesi quadre [ ]
- Virgolette singole ' '
"Michael said ""It's a beautiful day""."
Se si delimita la stringa con le virgolette doppie " ", sarà necessario aggiungere un'ulteriore virgoletta doppia accanto a ogni virgoletta doppia presente all'interno della stringa.
Questo stringa verrà caricata come Michele ha detto "Oggi c'è il sole". Utilizzando il carattere di escape "", l'Qlik Sense Editor caricamento dati comprende quali virgolette doppie fanno parte della stringa e quale virgoletta indica la fine della stringa. La virgoletta singola (l'apostrofo) utilizzata nella contrazione c'è non necessita di escape perché non è il carattere utilizzato per delimitare la stringa.
'Michael said: "It''s a beautiful day".'
Se si delimita questa stringa con le virgolette singole, sarà necessario aggiungere un'ulteriore virgoletta singola accanto a ogni virgoletta singola presente all'interno della stringa.
Questo stringa verrà caricata come Michele ha detto "Oggi c'è il sole". La virgoletta doppia " utilizzata per riferire quanto detto da Michele non necessita di escape perché non è il carattere utilizzato per delimitare la stringa.
[Michael said [It's a "beautiful day]].]
Le parentesi quadre [ ] seguono regole diverse rispetto agli altri due delimitatori. Se si desidera utilizzare le parentesi quadre come carattere di escape, è necessario aggiungere una parentesi quadra solo accanto a quella chiusa ] e non accanto a quella aperta [.
This string is loaded as Michael ha detto [È una "bella giornata]. Solo la parentesi quadra chiusa ] necessita di escape. La virgoletta singola ' e quella doppia " utilizzate nella stringa non necessitano di escape perché non sono utilizzate per delimitare la stringa.