CAST (Entity SQL)
Konwertuje wyrażenie jednego typu danych na inny.
Składnia
CAST ( expression AS data_type )
Argumenty
expression
Każde prawidłowe wyrażenie, które jest konwertowane na data_type
.
data_type
Docelowy typ danych dostarczony przez system. Musi być typem pierwotnym (skalarnym). Użyte data_type
przestrzeń zależy od przestrzeni zapytań. Jeśli zapytanie jest wykonywane za pomocą EntityCommandelementu , typ danych jest typem zdefiniowanym w modelu koncepcyjnym. Aby uzyskać więcej informacji, zobacz Specyfikacja CSDL. Jeśli zapytanie jest wykonywane za pomocą ObjectQuery<T>polecenia , typ danych jest typem środowiska uruchomieniowego języka wspólnego (CLR).
Wartość zwracana
Zwraca tę samą wartość co data_type
.
Uwagi
Wyrażenie rzutowania ma podobne semantyki do wyrażenia Transact-SQL CONVERT. Wyrażenie rzutowania służy do konwertowania wartości jednego typu na wartość innego typu.
CAST( e as T )
Jeśli e jest typu S, a S jest konwertowany na T, powyższe wyrażenie jest prawidłowym wyrażeniem rzutowania. T musi być typem pierwotnym (skalarnym).
Wartości aspektów dokładności i skalowania mogą być opcjonalnie udostępniane podczas rzutowania do Edm.Decimal
elementu . Jeśli nie zostanie jawnie podana, wartości domyślne dokładności i skali to odpowiednio 18 i 0. W szczególności dla programu Decimal
obsługiwane są następujące przeciążenia:
CAST( d as Edm.Decimal );
CAST( d as Edm.Decimal(precision) );
CAST( d as Edm.Decimal(precision, scale) );
Użycie wyrażenia rzutowania jest uznawane za jawną konwersję. Jawne konwersje mogą obcinać dane lub tracić precyzję.
Uwaga
Funkcja CAST jest obsługiwana tylko w przypadku typów pierwotnych i typów składowych wyliczenia.
Przykład
Następujące zapytanie Entity SQL używa operatora CAST do rzutowania wyrażenia jednego typu danych na inny. Zapytanie jest oparte na modelu AdventureWorks Sales. Aby skompilować i uruchomić to zapytanie, wykonaj następujące kroki:
Postępuj zgodnie z procedurą w temacie Instrukcje: Wykonywanie zapytania zwracającego wyniki Typ pierwotny.
Przekaż następujące zapytanie jako argument do
ExecutePrimitiveTypeQuery
metody :
SELECT VALUE cast(p.ListPrice as Edm.Int32)
FROM AdventureWorksEntities.Products as p order by p.ListPrice