Condividi tramite


CAST (Entity SQL)

Consente di convertire un'espressione da un tipo di dati a un altro.

CAST ( expression AS data_type )

Argomenti

  • expression
    Qualsiasi espressione valida che è possibile convertire in data_type.
  • data_type
    Tipo di dati di sistema di destinazione. Deve trattarsi di un tipo primitivo (scalare). Il tipo data_type utilizzato dipende dall'ambito della query. Se una query viene eseguita con EntityCommand, il tipo di dati è un tipo definito nel modello concettuale. Per ulteriori informazioni, vedere Specifiche CSDL. Se una query viene eseguita con ObjectQuery, il tipo di dati è un tipo CLR (Common Language Runtime).

Valore restituito

Restituisce lo stesso valore di data_type.

Osservazioni

La semantica dell'espressione CAST è simile a quella dell'espressione CONVERT Transact-SQL . L'espressione CAST viene utilizzata per convertire un valore di un tipo in un valore di un altro tipo.

CAST( e as T )

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

Quando si esegue il cast a Edm.Decimal, è possibile fornire i valori dei facet di precisione e scala. Se non vengono forniti in modo esplicito, i valori predefiniti per la precisione e la scala sono 18 e 0, rispettivamente. 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'utilizzo di un'espressione CAST è considerato una conversione esplicita. Le conversioni esplicite possono comportare il troncamento dei dati o la perdita di precisione.

Bb399172.note(it-it,VS.100).gifNota:
L'operatore CAST è supportato solo per tipi primitivi e tipi di membro di enumerazione.

Esempio

Nella query Entity SQL seguente viene utilizzato l'operatore CAST per eseguire il cast di un'espressione da un tipo di dati a un altro. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:

  1. Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati PrimitiveType (EntityClient).

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

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

Vedere anche

Concetti

Riferimenti a Entity SQL