Condividi tramite


Sintassi (SSIS)

La sintassi delle espressioni di Integration Services è simile alla sintassi usata dai linguaggi C e C#. Le espressioni includono elementi quali identificatori (colonne e variabili), valori letterali, operatori e funzioni. Questo argomento riepiloga i requisiti univoci della sintassi dell'analizzatore di espressioni quando si applicano a diversi elementi di espressione.

Annotazioni

Nelle versioni precedenti di Integration Services esiste un limite di 4000 caratteri sul risultato della valutazione di un'espressione quando il risultato ha il tipo di dati di Integration Services DT_WSTR o DT_STR. Questo limite è stato rimosso.

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

Per espressioni di esempio 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 espressioni di proprietà nei pacchetti.

Identificatori

Le espressioni possono includere identificatori di colonna e variabile. Le colonne possono avere origine nell'origine dati o possono essere create da trasformazioni nel flusso di dati. Le espressioni possono usare identificatori di derivazione per fare riferimento alle colonne. Gli identificatori di discendenza sono numeri che identificano in modo univoco gli elementi del pacchetto. Gli identificatori di lineage, a cui viene fatto riferimento in un'espressione, devono includere il prefisso cancelletto (#). Ad esempio, viene fatto riferimento all'identificatore di derivazione 138 usando #138.

Le espressioni possono includere le variabili di sistema fornite da SSIS e variabili personalizzate. Le variabili, se a cui viene fatto riferimento in un'espressione, devono includere il prefisso @ . Ad esempio, viene fatto riferimento alla Counter variabile usando @Counter. Il carattere @ non fa parte del nome della variabile; indica solo all'analizzatore di espressioni che l'identificatore è una variabile. Per altre informazioni, vedere Identificatori (SSIS).

Valori letterali

Le espressioni possono includere valori letterali numerici, stringa e booleani. I valori letterali stringa usati nelle espressioni devono essere racchiusi tra virgolette. I valori letterali numerici e booleani non accettano virgolette. Il linguaggio delle espressioni include sequenze di escape per i caratteri che vengono frequentemente eseguiti. Per altre informazioni, vedere Valori letterali (SSIS).

Operatori

L'analizzatore di espressioni fornisce un set di operatori che fornisce funzionalità simili al set di operatori nei linguaggi, ad esempio Transact-SQL, C++e C#. Tuttavia, il linguaggio delle espressioni include operatori aggiuntivi e usa simboli diversi rispetto a quelli con cui si ha familiarità. Per altre informazioni, vedere Operatori (espressione SSIS).

Operatore di risoluzione dello spazio dei nomi

Le espressioni usano l'operatore di risoluzione dello spazio dei nomi (::) per disambiguare le variabili con lo stesso nome. Usando l'operatore di risoluzione dello spazio dei nomi, è possibile qualificare la variabile con lo spazio dei nomi corrispondente, che consente di usare più variabili con lo stesso nome in un pacchetto.

Operatore Cast

L'operatore cast converte i risultati dell'espressione, i valori di colonna, i valori delle variabili e le costanti da un tipo di dati a un altro. L'operatore cast fornito dal linguaggio delle espressioni è simile a quello fornito dai linguaggi C e C#. In Transact-SQL le funzioni CAST e CONVERT forniscono questa funzionalità. La sintassi dell'operatore cast è diversa da quella usata da CAST e CONVERT nei modi seguenti:

  • Può usare 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 di due espressioni, in base alla valutazione di un'espressione booleana. L'operatore condizionale fornito dal linguaggio delle espressioni è simile a quello fornito dai linguaggi C e C#. Nelle espressioni multidimensionali (MDX), la funzione IIF fornisce funzionalità simili.

Operatori logici

Il linguaggio delle espressioni supporta il ! carattere per l'operatore logico NON. In Transact-SQL, il simbolo '!' l'operatore è integrato nell'insieme di operatori relazionali. Ad esempio, Transact-SQL fornisce gli operatori > e !>. Il linguaggio delle espressioni SSIS non supporta la combinazione di ! operatore e altri operatori Ad esempio, non è valido combinare ! e > in !>. Tuttavia, il linguaggio delle espressioni supporta una combinazione predefinita di caratteri != per il confronto diverso da uguale a.

Operatori di uguaglianza

La grammatica dell'analizzatore di espressioni fornisce l'operatore di uguaglianza == . Questo operatore è l'equivalente dell'operatore = in Transact-SQL e dell'operatore == in C#.

Funzioni

Il linguaggio delle espressioni include funzioni di data e ora, funzioni matematiche e funzioni stringa simili a Transact-SQL funzioni e metodi C#.

Alcune funzioni hanno gli stessi nomi delle funzioni Transact-SQL, ma hanno funzionalità leggermente diverse nell'analizzatore di espressioni.

  • 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 Boolean in base al fatto che un'espressione sia null.

  • In Transact-SQL la funzione ROUND include un'opzione per troncare il set di risultati, mentre la funzione ROUND dell'analizzatore di espressioni non lo fa.

Per altre informazioni, vedere Funzioni (espressione SSIS).

Usare un'espressione in un componente flusso di dati