Condividi tramite


CAST (Entity SQL)

Converte un'espressione di un tipo di dati in un'altra.

Sintassi

CAST ( expression AS data_type )

Argomenti

expression Qualsiasi espressione valida convertibile in data_type.

data_type Tipo di dati fornito dal sistema di destinazione. Deve essere un tipo primitivo (scalare). L'oggetto data_type utilizzato dipende dallo spazio di query. Se viene eseguita una query con EntityCommand, il tipo di dati è un tipo definito nel modello concettuale. Per altre informazioni, vedere Specifica CSDL. Se viene eseguita una query con ObjectQuery<T>, il tipo di dati è un tipo CLR (Common Language Runtime).

Valore restituito

Restituisce lo stesso valore di data_type.

Osservazioni:

L'espressione cast ha una semantica simile all'espressione Transact-SQL CONVERT. L'espressione cast viene usata per convertire un valore di un tipo in un valore di un altro tipo.

CAST( e as T )

Se e è di un tipo S e S è convertibile in T, l'espressione precedente è un'espressione cast valida. T deve essere un tipo primitivo (scalare).

I valori per i facet di precisione e scala possono essere facoltativamente forniti durante il cast a Edm.Decimal. Se non specificato in modo esplicito, i valori predefiniti per precisione e scala sono rispettivamente 18 e 0. In particolare, gli overload seguenti sono supportati per Decimal:

  • CAST( d as Edm.Decimal );

  • CAST( d as Edm.Decimal(precision) );

  • CAST( d as Edm.Decimal(precision, scale) );

L'uso di un'espressione cast è considerato una conversione esplicita. Le conversioni esplicite potrebbero troncare i dati o perdere precisione.

Annotazioni

CAST è supportato solo sui tipi primitivi e sui tipi di membri di enumerazione.

Esempio

La query Entity SQL seguente usa l'operatore CAST per eseguire il cast di un'espressione di un tipo di dati a un altro. La query si basa sul modello AdventureWorks Sales. Per compilare ed eseguire questa query, seguire questa procedura:

  1. Seguire la procedura descritta in Procedura: Eseguire una query che restituisce i risultati primitiveType.

  2. Passare la query seguente come argomento al ExecutePrimitiveTypeQuery metodo :

SELECT VALUE cast(p.ListPrice as Edm.Int32)
    FROM AdventureWorksEntities.Products as p order by p.ListPrice

Vedere anche