CAST (Entity SQL)CAST (Entity SQL)

Consente di convertire un'espressione da un tipo di dati a un altro.Converts an expression of one data type to another.

SintassiSyntax

CAST ( expression AS data_type )  

ArgomentiArguments

expression
Qualsiasi espressione valida che è possibile convertire in data_type.Any valid expression that is convertible to data_type.

data_type
Tipo di dati di sistema di destinazione.The target system-supplied data type. Deve trattarsi di un tipo primitivo (scalare).It must be a primitive (scalar) type. Il tipo data_type usato dipende dall'ambito della query.The data_type used depends on the query space. Se una query viene eseguita con EntityCommand, il tipo di dati è un tipo definito nel modello concettuale.If a query is executed with the EntityCommand, the data type is a type defined in the conceptual model. Per altre informazioni, vedere CSDL Specification.For more information, see CSDL Specification. Se una query viene eseguita con ObjectQuery<T>, il tipo di dati è un tipo CLR (Common Language Runtime).If a query is executed with ObjectQuery<T>, the data type is a common language runtime (CLR) type.

Valore restituitoReturn Value

Restituisce lo stesso valore di data_type.Returns the same value as data_type.

NoteRemarks

La semantica dell'espressione CAST è simile a quella dell'espressione CONVERT Transact-SQLTransact-SQL .The cast expression has similar semantics to the Transact-SQLTransact-SQL CONVERT expression. L'espressione CAST viene usata per convertire un valore di un tipo in un valore di un altro tipo.The cast expression is used to convert a value of one type into a value of another type.

CAST( e as T )  

Se e è di tipo S, e S è convertibile in T, l'espressione precedente è un'espressione CAST valida.If e is of some type S, and S is convertible to T, then the above expression is a valid cast expression. T deve essere un tipo primitivo (scalare).T must be a primitive (scalar) type.

Quando si esegue il cast a Edm.Decimal, è possibile fornire i valori dei facet di precisione e scala.Values for the precision and scale facets may optionally be provided when casting to Edm.Decimal. Se non vengono forniti in modo esplicito, i valori predefiniti per la precisione e la scala sono 18 e 0, rispettivamente.If not explicitly provided, the default values for precision and scale are 18 and 0, respectively. In particolare, gli overload seguenti sono supportati per Decimal:Specifically, the following overloads are supported for 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.The use of a cast expression is considered an explicit conversion. Le conversioni esplicite possono comportare il troncamento dei dati o la perdita di precisione.Explicit conversions might truncate data or lose precision.

Nota

L'operatore CAST è supportato solo per tipi primitivi e tipi di membro di enumerazione.CAST is only supported over primitive types and enumeration member types.

EsempioExample

Nella query Entity SQLEntity SQL seguente viene usato l'operatore CAST per eseguire il cast di un'espressione da un tipo di dati a un altro.The following Entity SQLEntity SQL query uses the CAST operator to cast an expression of one data type to another. La query è basata sul modello Sales di AdventureWorks.The query is based on the AdventureWorks Sales Model. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:To compile and run this query, follow these steps:

  1. Attenersi alla procedura di procedura: eseguire una Query che restituisce risultati di PrimitiveType.Follow the procedure in How to: Execute a Query that Returns PrimitiveType Results.

  2. Passare la query seguente come argomento al metodo ExecutePrimitiveTypeQuery :Pass the following query as an argument to the ExecutePrimitiveTypeQuery method:

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

Vedere ancheSee Also

Riferimento a Entity SQLEntity SQL Reference