Freigeben über


CAST (Entity SQL)

Konvertiert einen Ausdruck von einem Datentyp in einen anderen.

CAST ( expression AS data_type )

Argumente

  • expression
    Ein gültiger Ausdruck, der zu data_type konvertierbar ist.
  • data_type
    Der vom Zielsystem bereitgestellte Datentyp. Dabei muss es sich um einen primitiven (skalaren) Typ handeln. Der verwendete data_type hängt von der Abfrageumgebung ab. Wenn eine Abfrage mit dem EntityCommand ausgeführt wird, ist der Datentyp ein EDM-Typ. Wenn eine Abfrage mit ObjectQuery ausgeführt wird, ist der Datentyp ein CLR-Typ.

Rückgabewert

Gibt denselben Wert zurück wie data_type.

Hinweise

Der cast-Ausdruck verfügt über eine ähnliche Semantik wie der CONVERT-Ausdruck von Transact-SQL. Der cast-Ausdruck wird zum Konvertieren eines Werts von einem Typ in einen Wert von einem anderen Typ verwendet.

CAST( e as T )

Wenn "e" vom Typ "S" ist und "S" zu "T" konvertierbar ist, ist der obige Ausdruck ein gültiger Umwandlungsausdruck. "T" muss dabei ein primitiver (skalarer) Typ sein.

Beim Umwandeln in Edm.Decimal können Werte für die Facets der Genauigkeit und der Dezimalstellenanzahl bereitgestellt werden. Werden keine expliziten Angaben gemacht, sind die Standardwerte für Genauigkeit und Dezimalstellenanzahl 18 bzw. 0. Insbesondere werden folgende Überladungen von Decimal unterstützt:

  • CAST( d as Edm.Decimal );

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

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

Die Verwendung eines Umwandlungsausdrucks wird als explizite Konvertierung aufgefasst. Explizite Konvertierungen können Daten abschneiden oder zu Genauigkeitsverlust führen.

NoteHinweis

CAST wird nur für primitive Typen und Enumerationsmembertypen unterstützt.

Beispiel

In der folgenden Entity SQL-Abfrage wird der CAST-Operator zum Umwandeln des Datentyps eines Ausdrucks in einen anderen verwendet. Die Abfrage basiert auf dem AdventureWorks Sales-Modell. Führen Sie folgende Schritte aus, um diese Abfrage zu kompilieren und auszuführen:

  1. Verwenden Sie das Verfahren unter Gewusst wie: Ausführen einer Abfrage, die PrimitiveType-Ergebnisse zurückgibt (EntityClient).

  2. Übergeben Sie die folgende Abfrage als Argument an die ExecutePrimitiveTypeQuery-Methode:

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

Siehe auch

Konzepte

Typoperatoren (Entity SQL)
Entity SQL-Referenz