Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Konverterar ett uttryck av en datatyp till en annan.
Syntax
CAST ( expression AS data_type )
Argument
expression
Alla giltiga uttryck som är konvertibla till data_type
.
data_type
Datatypen som tillhandahålls av målsystemet. Det måste vara en primitiv (skalär) typ. Vilken data_type
som används beror på frågeutrymmet. Om en fråga körs med EntityCommandär datatypen en typ som definieras i den konceptuella modellen. Mer information finns i CSDL-specifikation. Om en fråga körs med ObjectQuery<T>är datatypen en CLR-typ (Common Language Runtime).
Returvärde
Returnerar samma värde som data_type
.
Kommentarer
Cast-uttrycket har liknande semantik som Transact-SQL CONVERT-uttrycket. Cast-uttrycket används för att konvertera ett värde av en typ till ett värde av en annan typ.
CAST( e as T )
Om e är av någon typ S och S är konvertibelt till T är uttrycket ovan ett giltigt cast-uttryck. T måste vara en primitiv (skalär) typ.
Värden för precisions- och skalningsfasetter kan eventuellt anges vid gjutning till Edm.Decimal
. Om det inte uttryckligen anges är standardvärdena för precision och skalning 18 respektive 0. Mer specifikt stöds följande överlagringar för Decimal
:
CAST( d as Edm.Decimal );
CAST( d as Edm.Decimal(precision) );
CAST( d as Edm.Decimal(precision, scale) );
Användningen av ett cast-uttryck anses vara en explicit konvertering. Explicita konverteringar kan trunkera data eller förlora precision.
Kommentar
CAST stöds endast för primitiva typer och uppräkningsmedlemstyper.
Exempel
Följande entitets-SQL-fråga använder CAST-operatorn för att omvandla ett uttryck av en datatyp till en annan. Frågan baseras på AdventureWorks försäljningsmodell. Följ dessa steg för att kompilera och köra den här frågan:
Följ proceduren i Så här kör du en fråga som returnerar PrimitiveType-resultat.
Skicka följande fråga som ett argument till
ExecutePrimitiveTypeQuery
metoden:
SELECT VALUE cast(p.ListPrice as Edm.Int32)
FROM AdventureWorksEntities.Products as p order by p.ListPrice