Megosztás:


CAST (Entity SQL)

Egy adattípus kifejezését konvertálja egy másikra.

Szemantika

CAST ( expression AS data_type )

Érvek

expression Bármely érvényes kifejezés, amely átalakítható data_type.

data_type A célrendszer által megadott adattípus. Primitív (skaláris) típusnak kell lennie. A data_type használt terület a lekérdezési területtől függ. Ha egy lekérdezést a EntityCommandkövetkezővel hajtanak végre, az adattípus a fogalmi modellben meghatározott típus. További információ: CSDL-specifikáció. Ha lekérdezést hajtanak ObjectQuery<T>végre, az adattípus egy gyakori nyelvi futtatókörnyezeti (CLR) típus.

Visszaadott érték

Ugyanazt az értéket adja vissza, mint a data_type.

Megjegyzések

A öntött kifejezés a Transact-SQL KONVERTÁLÁS kifejezéshez hasonló szemantikával rendelkezik. Az öntött kifejezés egy adott típusú érték más típusú értékké alakítására szolgál.

CAST( e as T )

Ha az e valamilyen S típusú, és az S T-vé konvertálható, akkor a fenti kifejezés érvényes öntött kifejezés. A T-nek primitív (skaláris) típusnak kell lennie.

A pontosság és a skálázási aspektusok értékei opcionálisan megadhatóak a skálázás Edm.Decimalsorán. Ha nincs explicit módon megadva, a pontosság és a skálázás alapértelmezett értéke 18, illetve 0. Pontosabban a következő túlterhelések támogatottak Decimal:

  • CAST( d as Edm.Decimal );

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

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

Az öntött kifejezés használata explicit konverziónak minősül. A explicit konverziók csonkíthatják az adatokat, vagy elveszíthetik a pontosságukat.

Megjegyzés:

A CAST csak primitív típusok és enumerálási tagtípusok esetében támogatott.

példa

Az alábbi Entity SQL-lekérdezés a CAST operátorral egy adattípus kifejezést ad át egy másiknak. A lekérdezés az AdventureWorks értékesítési modellen alapul. A lekérdezés fordításához és futtatásához kövesse az alábbi lépéseket:

  1. Kövesse a How to: Execute a Query that Returns PrimitiveType Results (Primitívtípus-eredményeket visszaadó lekérdezés végrehajtása) című témakör lépéseit.

  2. Adja át a következő lekérdezést argumentumként a ExecutePrimitiveTypeQuery metódusnak:

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

Lásd még