Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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