Udostępnij za pośrednictwem


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.Decimalelementu . 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 Decimalobsł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:

  1. Postępuj zgodnie z procedurą w temacie Instrukcje: Wykonywanie zapytania zwracającego wyniki Typ pierwotny.

  2. 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

Zobacz też