Mengapa SELECT 1/2 mengembalikan 0?


Jawaban:


29

Mereka bilangan bulat.

Mencoba:

select 1.0/2.0;

Atau:

select CONVERT(NUMERIC,1)/CONVERT(NUMERIC,2);

14

Pertama, Anda mengeksekusi angka sebagai bilangan bulat, tetapi kedua, Anda juga belum mendefinisikan ketepatan dan skala dari tipe data numerik .

Coba ini:

SELECT CONVERT(NUMERIC(5, 2), 1.0/2.0)

atau bahkan

SELECT CONVERT(NUMERIC(5, 2), 1/2.0)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.