CAST (Entity SQL)
轉換運算式的資料型別。
CAST ( expression AS data_type )
引數
- expression
可以轉換為 data_type 的任何有效運算式。
- data_type
目標系統提供的資料型別。它必須是基本 (純量) 型別。使用的 data_type 視查詢空間而定。如果查詢是以 EntityCommand 執行的,資料型別將會是 EDM 型別。如果查詢是以 ObjectQuery 執行的,則資料型別為 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 為依據。若要編譯及執行此查詢,請遵循以下步驟:
將下列查詢當成引數傳遞至
ExecutePrimitiveTypeQuery
方法:
SELECT VALUE cast(p.ListPrice as Edm.Int32)
FROM AdventureWorksEntities.Product as p order by p.ListPrice