“表达式 <=1.” 和有什么区别?和“表达式 <= 1”?

Pet*_*ter 11 sql-server

审查代码和案例陈述expression <= 1.<= 1

我不确定这样做的目的1.是什么。有什么想法吗?

mus*_*cio 18

1.NUMERIC(或DECIMAL)常数,而1INTEGER常数。在某些情况下,显式指定常量的数据类型以避免不必要的(或不需要的)隐式类型转换很有用。

考虑,例如

create table t(f1 int);
insert into t values (2);
Run Code Online (Sandbox Code Playgroud)

然后select 1/f1 from t返回0( INTEGER),而select 1./f1 from t返回0.5( DECIMAL)。

人们可能会假设在您的示例中比较的左侧有一个DECIMAL列,并且显式指定一个DECIMAL常量可以通过避免隐式类型转换来略微提高性能。