Cast method
You find an overview below of what will happen when a column is cast from one data type to another.
Input | Output | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Integer | Real | Currency/Decimal | Date/DateTime/Time | String | Binary | LongInteger | SingleReal | TimeSpan | Boolean | |
Integer | Same value. | Value cast to Real. | Value converted to Decimal if it fits in the limit. Null otherwise. | Date, DateTime, or Time value is created using the integer value as ticks*. | Formatted using input formatter. | Null. | Value cast to LongInteger. | Value converted to SingleReal. | The integer value is interpreted as ticks* and the ticks are converted to a TimeSpan. | If the value is 1 then true. If the value is 0 then false. Null otherwise. |
Real | Integer part of real value is it fits in the limit. Null otherwise. | Same value. | Value converted to Decimal if it fits in the limit. Null otherwise. | Date, DateTime, or Time value is created using the integer part of the value as ticks*. | Formatted using input formatter. | Null. | Value cast to LongInteger if it fits in the limit. Null otherwise. | Value converted to SingleReal if it fits in the limit. Null otherwise | The integer part is interpreted as ticks* and the ticks are converted to a TimeSpan. | If the value is 1 then true. If the value is 0 then false. Null otherwise |
Currency/Decimal | Integer part of decimal value is it fits in the limit. Null otherwise. | Decimal value rounded to Real if it fits, null otherwise. | Same value. | Date, DateTime, or Time value is created using the integer part of the value as ticks*. | Formatted using input formatter. | Null. | Integer part of decimal value if it fits in the limit. Null otherwise. | Decimal value rounded to SingleReal if it fits, null otherwise. | The integer part is interpreted as ticks* and the ticks are converted to a TimeSpan. | If the value is 1 then true. If the value is 0 then false. Null otherwise |
Date/DateTime/Time | Number of ticks* converted to Integer if it fits in the limit. Null otherwise. | Number of ticks* converted to Real. | Number of ticks* converted Decimal if it fits in the limit. Null otherwise. | Same value. | Formatted using input formatter. | Null. | Number of ticks* converted to LongInteger if it fits in the limit. Null otherwise. | Number of ticks* converted to SingleReal if it fits in the limit. Null otherwise. | Takes ticks* and converts them to a TimeSpan. | If ticks* ==0, then false. True otherwise. |
String | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. The string is interpreted as number of ticks*. Null if it failed to parse. | Same value. | Null. | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. Null if it failed to parse. | Try to parse using output formatter. Null if it failed to parse. |
Binary | Null. | Null. | Null. | Null. | Null. | Same value. | Null. | Null. | Null. | Null. |
LongInteger | Value converted to Integer if it fits in the limit. Null otherwise. | Value cast to Real. | Value converted to Decimal if it fits in the limit. Null otherwise. | Date, DateTime or Time value is created using the integer value as ticks*. | Formatted using input formatter. | Null. | Same value. | Value converted to SingleReal. | The integer value is interpreted as ticks* and the ticks are converted to a TimeSpan. | If the value is 1 then true. If the value is 0 then false. Null otherwise. |
SingleReal | Integer part of SingleReal value if it fits in the limit. Null otherwise. | Value cast to Real. | Value converted to Decimal if it fits in the limit. Null otherwise. | Date, DateTime, or Time value is created using the integer part of the value as ticks*. | Formatted using input formatter. | Null. | Value cast to LongInteger if it fits in the limit. Null otherwise. | Same value. | The integer value is interpreted as ticks* and the ticks are converted to a TimeSpan. | If the value is 1 then true. If the value is 0 then false. Null otherwise. |
TimeSpan | Number of ticks converted to Integer if it fits in the limit. Null otherwise. | Number of ticks converted to Real if it fits in the limit. Null otherwise. | Value converted to Decimal if it fits in the limit. Null otherwise. | Takes ticks and converts them to date value. | Formatted using input formatter. | Null. | Takes ticks and converts them to LongInteger value. | Takes ticks and converts them to SingleReal value. | Same value. | If the value is 1 then true. If the value is 0 then false. Null otherwise. |
Boolean | 1 if true. 0 if false. | 1 if true. 0 if false. | 1 if true. 0 if false. | Converts to date value using the ticks 0 and 1. | Formatted using input formatter. | Null. | 1 if true. 0 if false. | 1 if true. 0 if false. | Converts to TimeSpan ticks using the ticks 0 and 1. | Same value. |
* Ticks are counted with the unit 100 nanoseconds, starting from the date 01-01-01 (January first, year one).
See also Functions.Copyright © Cloud Software Group, Inc. All rights reserved.