Sdílet prostřednictvím


CAST (Entity SQL)

Převede výraz jednoho datového typu na jiný.

Syntaxe

CAST ( expression AS data_type )

Argumenty

expression Libovolný platný výraz, který je konvertibilní na data_type.

data_type Cílový systém zadaný datový typ. Musí to být primitivní (skalární) typ. Použité data_type pole závisí na prostoru dotazu. Pokud se dotaz provede pomocí EntityCommanddotazu, datový typ je typ definovaný v konceptuálním modelu. Další informace naleznete v tématu SPECIFIKACE CSDL. Pokud je dotaz proveden pomocí ObjectQuery<T>, datový typ je typ CLR (Common Language Runtime).

Návratová hodnota

Vrátí stejnou hodnotu jako data_type.

Poznámky

Výraz přetypování má podobnou sémantiku jako výraz Transact-SQL CONVERT. Výraz přetypování slouží k převodu hodnoty jednoho typu na hodnotu jiného typu.

CAST( e as T )

Pokud je e nějakého typu S a S je převoditelný na T, je výše uvedený výraz platným přetypovacím výrazem. T musí být primitivní (skalární) typ.

Hodnoty omezující vlastnosti přesnosti a měřítka mohou být při přetypování na Edm.Decimal. Pokud není explicitně zadáno, výchozí hodnoty přesnosti a měřítka jsou 18 a 0. Konkrétně jsou podporována následující přetížení pro Decimal:

  • CAST( d as Edm.Decimal );

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

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

Použití výrazu přetypování se považuje za explicitní převod. Explicitní převody můžou zkrátit data nebo ztratit přesnost.

Poznámka:

CAST se podporuje pouze u primitivních typů a typů členů výčtu.

Příklad

Následující dotaz Entity SQL používá operátor CAST k přetypování výrazu jednoho datového typu na jiný. Dotaz je založený na prodejním modelu AdventureWorks. Chcete-li tento dotaz zkompilovat a spustit, postupujte takto:

  1. Postupujte podle pokynů v části Postupy: Provedení dotazu, který vrací výsledky PrimitiveType.

  2. Jako argument metody ExecutePrimitiveTypeQuery předejte následující dotaz:

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

Viz také