CAST (Entity SQL)

將一種資料類型的運算式轉換成另一種。

語法

CAST ( expression AS data_type )

引數

expression:可以轉換為 data_type 的任何有效運算式。

data_type:目標系統提供的資料類型。 它必須是基本 (純量) 型別。 使用的 data_type 視查詢空間而定。 如果查詢是以 EntityCommand執行的,資料型別會是在概念模型中定義的型別。 如需詳細資訊,請參閱 CSDL Specification。 如果查詢是以 ObjectQuery<T>執行的,則資料型別為 Common Language Runtime (CLR) 型別。

傳回值

傳回 data_type的相同值。

備註

轉型運算式的語意類似於 Transact-SQL CONVERT 運算式。 轉型運算式是用來將某個型別的值轉換成另一個型別的值。

CAST( e as T )

如果 e 為 S 型別,且 S 可轉換成 T,則上述運算式便是有效的轉型運算式。 T 必須是基本 (純量) 型別。

轉型為 Edm.Decimal時可選擇性提供有效位數和小數位數 Facet 的值。 如果沒有明確提供,則有效位數和小數位數的預設值將分別為 18 和 0。 更明確地講,下列多載支援 Decimal

  • CAST( d as Edm.Decimal );

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

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

使用轉型運算式會視為明確轉換。 而明確轉換可能會截斷資料或遺失有效位數。

注意

只有在基本型別和列舉成員型別上能支援 CAST。

範例

下列 Entity SQL 查詢使用 CAST 運算子將某個資料類型的運算式轉換為另一個資料類型。 此查詢是根據 AdventureWorks Sales Model。 若要編譯及執行此查詢,請遵循以下步驟:

  1. 遵循操作說明:執行可傳回 PrimitiveType 結果的查詢中的程序進行。

  2. 將下列查詢當成引數,傳遞至 ExecutePrimitiveTypeQuery 方法:

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

另請參閱