CAST (Entity SQL)
Convierte una expresión de un tipo de datos en otro.
Sintaxis
CAST ( expression AS data_type )
Argumentos
expression
Cualquier expresión válida que se pueda convertir a data_type
.
data_type
Tipo de datos de destino proporcionado por el sistema. Debe ser un tipo (escalar) primitivo. El valor de data_type
usado depende del espacio de la consulta. Si se ejecuta una consulta con la clase EntityCommand, el tipo de datos es un tipo definido en el modelo conceptual. Para obtener más información, consulta CSDL Specification. Si se ejecuta una consulta con la clase ObjectQuery<T>, el tipo de datos es un tipo de Common Language Runtime (CLR).
Valor devuelto
Devuelve el mismo valor que data_type
.
Observaciones
La expresión de conversión tiene una semántica similar a la expresión CONVERT de Transact-SQL. La expresión de conversión se utiliza para convertir un valor de un tipo en un valor de otro tipo.
CAST( e as T )
Si e es de un tipo S, y S se puede convertir a T, la expresión anterior es una expresión de conversión válida. T debe ser un tipo (escalar) primitivo.
Se pueden proporcionar opcionalmente valores para las facetas de precisión y escala al convertir a Edm.Decimal
. Si no se proporcionan explícitamente, los valores predeterminados para la precisión y la escala son 18 y 0, respectivamente. Concretamente, las sobrecargas siguientes son compatibles con Decimal
:
CAST( d as Edm.Decimal );
CAST( d as Edm.Decimal(precision) );
CAST( d as Edm.Decimal(precision, scale) );
El uso de una expresión de conversión se considera una conversión explícita. Las conversiones explícitas pueden truncar datos o perder precisión.
Nota
CAST solo se admite en tipos primitivos y tipos de miembro de enumeración.
Ejemplo
La consulta de Entity SQL siguiente usa el operador CAST para convertir una expresión de un tipo de datos a otro. La consulta se basa en el modelo AdventureWorks Sales. Para compilar y ejecutar esta consulta, siga estos pasos:
Siga los pasos que se indican en Procedimientos para ejecutar una consulta que devuelve resultados PrimitiveType.
Pase la consulta siguiente como argumento al método
ExecutePrimitiveTypeQuery
:
SELECT VALUE cast(p.ListPrice as Edm.Int32)
FROM AdventureWorksEntities.Products as p order by p.ListPrice