select 99.foo
переводится как select 99. as foo
(так как вы можете оставить пробел перед псевдонимом), выбрав «99». как numeric
. Поскольку после десятичной точки нет чисел, просто отображается «99».
Вы можете подтвердить это, запустив:
select sql_variant_property(99., 'BaseType')
, который возвращает numeric
.
Это не то же самое, что select 99 as foo
, который выбирает '99', но как int
. Это может быть подтверждено прогоном:
select sql_variant_property(99, 'BaseType')
, который возвращает int
.
Хотя все три запроса выглядят одинаково, первый отличается от следующих двух в типе возвращаемого значения.