回答:
1.はNUMERIC(またはDECIMAL)定数1ですが、はINTEGER定数です。不必要な(または望ましくない)暗黙的な型変換を回避するために、定数のデータ型を明示的に指定すると便利な場合があります。
たとえば、
create table t(f1 int);
insert into t values (2);
次いで、select 1/f1 from tリターン0(INTEGER)、一方、select 1./f1 from tリターン0.5(DECIMAL)。
例の比較の左側にDECIMAL列があり、DECIMAL定数を明示的に指定すると、暗黙的な型キャストを回避してパフォーマンスをわずかに向上させることができると想定する人もいます。
1.、ピリオドが原因で、リテラルを整数ではなくnumeric(1,0)として扱います。おそらく、それは式のデータ型と一致させるために指定されたものです(ベストプラクティス)。個人的には1.0、その場合に指定します。