Sintassi (SSIS)

Si applica a:SQL Server SSIS Integration Runtime in Azure Data Factory

La sintassi delle espressioni di Integration Services è simile a quella usata nei linguaggi C e C#. Le espressioni includono elementi quali identificatori (colonne e variabili), valori letterali, operatori e funzioni. In questo argomento vengono riepilogati i requisiti specifici della sintassi dell'analizzatore di espressioni, in relazione ai diversi elementi delle espressioni.

Nota

Nella versioni precedenti di Integration Services era presente un limite di 4000 caratteri sul risultato della valutazione di un'espressione quando il tipo di dati Integration Services del risultato era DT_WSTR o DT_STR. Questo limite è stato eliminato.

Per esempi di espressioni che usano operatori e funzioni specifiche, vedere l'argomento relativo a ogni operatore e funzione negli argomenti: Operatori (espressione SSIS) e Funzioni (espressione SSIS).

Per esempi di espressioni che usano più operatori e funzioni, nonché identificatori e valori letterali, vedere Esempi di espressioni avanzate di Integration Services.

Per espressioni di esempio da usare nelle espressioni di proprietà, vedere Usare le espressioni di proprietà nei pacchetti.

Identifiers

Le espressioni possono includere identificatori di colonna e di variabile. È possibile utilizzare colonne esistenti nell'origine dei dati oppure colonne create da trasformazioni nel flusso di dati. Nelle espressioni è possibile utilizzare identificatori di derivazione per fare riferimento alle colonne. Gli identificatori di derivazione sono numeri che identificano in modo univoco gli elementi di un pacchetto. Per fare riferimento a un identificatore di derivazione nell'ambito di un'espressione, è necessario anteporvi un simbolo di cancelletto (#). Per fare riferimento all'identificatore di derivazione 138, ad esempio, è necessario specificare #138.

Le espressioni possono includere variabili personalizzate e le variabili di sistema disponibili in SSIS. Quando in un'espressione viene fatto riferimento a una variabile, è necessario anteporre il prefisso @ al nome della variabile. Per fare riferimento alla variabile Counter , ad esempio, è necessario specificare @Counter. Il carattere @ non fa parte del nome della variabile, ma consente all'analizzatore di espressioni di identificarla come tale. Per altre informazioni, vedere Identificatori (SSIS).

Letterali

Le espressioni possono includere valori letterali numerici, stringa e booleani. I valori letterali stringa utilizzati nelle espressioni devono essere racchiusi tra virgolette. Le virgolette non devono essere invece utilizzate per i valori letterali numerici e booleani. Il linguaggio delle espressioni include sequenze di escape per i caratteri di escape più comuni. Per altre informazioni, vedere Valori letterali (SSIS).

Operatori

L'analizzatore di espressioni fornisce un set di operatori con funzionalità analoghe a quelle offerte dai set di operatori di linguaggi quali Transact-SQL, C++ e C#. Oltre a questi, il linguaggio delle espressioni include anche operatori aggiuntivi e utilizza simboli diversi da quelli abitualmente utilizzati in altri linguaggi. Per altre informazioni, vedere Operatori (espressione SSIS).

Operatore per la risoluzione degli spazi dei nomi

Nelle espressioni è possibile utilizzare l'operatore per la risoluzione degli spazi dei nomi (::) per eliminare le ambiguità dovute alla presenza di variabili con lo stesso nome. L'operatore per la risoluzione degli spazi dei nomi consente di qualificare ogni variabile con il relativo spazio dei nomi, permettendo così di utilizzare più variabili con lo stesso nome nell'ambito di un pacchetto.

Operatore cast

L'operatore cast consente di convertire da un tipo di dati all'altro i risultati delle espressioni, i valori delle colonne, i valori delle variabili e le costanti. L'operatore cast del linguaggio delle espressioni è simile a quello disponibile nei linguaggi C e C#. In Transact-SQL questa funzionalità è offerta dalle funzioni CAST e CONVERT. La sintassi dell'operatore cast presenta tuttavia le seguenti differenze rispetto a quella delle funzioni CAST e CONVERT:

  • È possibile utilizzare un'espressione come argomento.

  • La sintassi non include la parola chiave CAST.

  • La sintassi non include la parola chiave AS.

Operatore condizionale

L'operatore condizionale restituisce una delle due espressioni specificate, in base al valore restituito da un'espressione booleana. L'operatore condizionale del linguaggio delle espressioni è simile a quello disponibile nei linguaggi C e C#. Nelle espressioni MDX questo tipo di funzionalità è offerto dalla funzione IIF.

Operatori logici

Il linguaggio delle espressioni supporta il carattere ! per l'operatore NOT logico. In Transact-SQL l'operatore ! è incorporato nel set degli operatori relazionali. Transact-SQL offre ad esempio gli operatori > e !>. Il linguaggio delle espressioni di SSIS non supporta l'uso dell'operatore ! in combinazione con altri operatori. Non è ad esempio possibile combinare ! e > per ottenere !>. Il linguaggio delle espressioni supporta tuttavia la combinazione predefinita di caratteri !=, che rappresenta l'operatore "diverso da".

Operatori di uguaglianza

La grammatica dell'analizzatore di espressioni prevede l'operatore di uguaglianza ==, che equivale all'operatore = di Transact-SQL e all'operatore == di C#.

Funzioni

Il linguaggio delle espressioni include funzioni di data e ora e funzioni per i valori stringa simili alle funzioni di Transact-SQL e ai metodi di C#.

Anche se in alcuni casi i nomi delle funzioni dell'analizzatore sono uguali a quelli delle analoghe funzioni di Transact-SQL, esistono tuttavia alcune differenze funzionali.

  • In Transact-SQL la funzione ISNULL sostituisce i valori Null con un valore specificato, mentre la funzione ISNULL dell'analizzatore di espressioni restituisce un valore booleano che indica se l'espressione restituisce Null o meno.

  • In Transact-SQL la funzione ROUND include un'opzione che consente di troncare il set di risultati, ma per la funzione ROUND dell'analizzatore di espressioni tale opzione non è disponibile.

Per altre informazioni, vedere Funzioni (espressione SSIS).

Usare un'espressione in un componente flusso di dati