2016-12-09 14 views
0

これは初めてのORACLE SQLの使用です。 私はこのようなクエリで出くわした:ドット(。)はOracleの数値の後に何を意味しますか?

SELECT * 
FROM TABLE_A 
WHERE COLUMN_A = 1. 
AND COLUMN_B <> 0. 

誰もがドットを何を私に説明でき、それらの整数の後に意味(。)?私がドット(。)を入れていないと、それは何か変わるだろうか?事前に

感謝:)

+0

同じである

SELECT * FROM TABLE_A WHERE COLUMN_A = 1.0 AND COLUMN_B <> 0.0 

'代わり_integer_ための浮動小数点数として、この番号を治療するためのコンパイラ/インタプリタを強制的に番号の後.'。違いが生じるかどうかは、実行された操作と、コンパイラ/インタプリタがその操作についてどのような種類のデータ型を予期しているかによって異なります。 –

+1

@ t.nieseによると、ほとんどのプログラミング言語ではINTEGER(異なる種類と精度の)とFLOAT/DOUBLEなどの違いがあります。このような言語では、5/2 = 2,5/2 = 5.0/2 = 5/2。 = 2.5。残念ながら、OracleのほとんどはCで書かれていて、CはINTEGERとFLOATを区別しています(整数算術ははるかに高速で、場合によっては必要なものです)、Oracleはその区別をしません。彼らの機会を逃した。ですから、オラクルでは、1と1.と1.0との間には全く違いはありません。 – mathguy

答えて

1

はそれだけでは小数点以下0を追加します。それは効果がありません。データ型COLUMN_Aは小数点が異なります後、ゼロ年代のCOLUMN_A数の規模に基づいてdecimalであればそれは

1. = 1.0 
0. = 0.0 

に相当します。

0

数字は0(ゼロ)以降は表示されませんでしたが、ここではそのように見えます。ほとんどの言語で

SELECT * 
FROM TABLE_A 
WHERE COLUMN_A = 1 
AND COLUMN_B <> 0 
+0

米国では(私は東ヨーロッパで育ちましたが、それ以前は見たことがなかった)1のような数字を見ました。 – mathguy

関連する問題