データ型はある形式から別の形式に明示的または暗黙的に変換することができます。暗黙の変換がCriteriaとExpressionsで自動的に行われ、開発が容易になります。明示的なデータ型変換には、CONVERT
関数またはCAST
キーワードの使用が必要です。
タイプ変換の考察:
- あらゆる型は、暗黙的に
OBJECT
型に変換することができます; OBJECT
型は、明示的に他の型に変換することができます;NULL
の値は任意の型に変換することができます;- 有効な暗黙的変換はすべて有効な明示的変換でもあります;
- 通常、明示的な変換を必要とするリテラル値を含む状況では、情報の損失が発生しない場合、明示的な変換が暗黙的に適用されることがあります;
CData Virtuality Server が明示的な変換を Criteria 内で暗黙的に適用できないことを検出すると、Criteria は False として扱われます。例えば:
SELECT
*
FROM
my.
table
WHERE
created_by =
'not a date'
created_by
が日付として型付けされていることを考えると、'not a date' を日付値に変換するのではなく、Criteria は文字列比較のままであるため、FALSE
となります;- 2つの型間で許可されていない明示的な変換は、実行前に例外が発生します。許可された明示的な変換は、実行時の値が変換可能でない場合、処理中に失敗する可能性があります。
The CData Virtuality Server conversions of float
/double
/bigdecimal
/timestamp
to string
rely on the JDBC/Java-defined output formats. Pushdown behaviour attempts to mimic these results but may vary depending on the source type and conversion logic. Care should be taken not to assume the string form in criteria or other places where a variation may cause different results.
Type Conversions
Source type | Valid implicit target types | Valid explicit target types |
---|---|---|
|
|
|
|
| - |
|
| - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - |
|
| - |
|
|
|
|
| - |
| - |
|