Utilizzo delle virgolette nello script

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

Nomi di campo

virgolette doppie

" " 34 "stringa"
  parentesi quadre [ ] 91, 93 [stringa]
  accenti gravi ` ` 96 `stringa`

Stringhe letterali

virgolette singole

' '

39 'stringa'

Nelle istruzioni SELECT

Per un'istruzione SELECT interpretata dal driver ODBC possono esistere lievi differenze. 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.

Esempio di virgolette in Microsoft Access

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 nel posto in cui QlikView 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:

Esempio:  

'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 "Country" di QlikView.

Esempio:  

"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 QlikView "Country". Ciò significa che land viene considerato come un riferimento di campo.

Differenza fra numeri e stringhe letterali

La differenza fra numeri e stringhe letterali diventa più chiara confrontando gli esempi seguenti.

Esempio:  

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

Esempio:  

12/31/96

Quando questa stringa è utilizzata come parte di un'espressione, verrà interpretata numericamente come 12 divisa per 31 divisa per 96.

Utilizzo dei caratteri virgoletta singola in una stringa

Se occorre inserire caratteri virgoletta singola in una stringa, è possibile utilizzare una virgoletta singola aggiuntiva come carattere di escape.

Esempio:  

La stringa '10 O''clock News' verrà interpretata come 10 O'clock News (Notizie delle ore 10).