VARIANT data: Casting some of the fixed numeric values to floating-point results in different approximate values (Pending)

Attention

This behavior change is in the 2025_07 bundle.

For the current status of the bundle, refer to Bundle History.

When this bundle is enabled and you extract a fixed numeric value from a VARIANT value and cast the numeric value to a floating-point type, the resulting value might be different.

This behavior change occurs in cases when the cast is narrow — in other words, when the cast type cannot hold the value. The cast might return a different approximate value that is closer to the original value.

For example, when the fixed numeric value 264208207.9326154526043824 in a VARIANT column is cast to FLOAT, the resulting value before the behavior change is different than the value after the behavior change:

  • Original numeric value (before casting to FLOAT):

    264208207.9326154526043824
    
    Copy
  • Numeric value before the behavior change (after casting to FLOAT):

    264208207.93261543
    
    Copy
  • Numeric value after the behavior change (after casting to FLOAT):

    264208207.93261546
    
    Copy

This behavior change is being introduced to make the casting result consistent with casting a numeric value that is not in a VARIANT value.

Ref: 2106