cari

Rumah  >  Soal Jawab  >  teks badan

Paparkan hasil pengiraan dalam SQL dengan 2 tempat perpuluhan

Saya menulis pertanyaan mudah untuk mencari peratusan dua lajur, tetapi saya mahu hasilnya berada dalam lajur dengan hanya dua tempat perpuluhan. Inilah yang saya tulis tetapi saya mendapat ralat dan saya tidak dapat membetulkannya.

SELECT 
    Small_Bags,
    Total_Bags,
    (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
    (Select CAST (Small_Bags_Percent AS DECIMAL (10,2)))
FROM Table_Bags
WHERE Total_Bags <>0

P粉055726146P粉055726146231 hari yang lalu420

membalas semua(1)saya akan balas

  • P粉653045807

    P粉6530458072024-04-03 12:46:35

    Anda tidak boleh menggunakan alias lajur dalam pertanyaan yang sama. awak boleh lakukannya.

    select Small_Bags
        , Total_Bags
        , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
        , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2))
    from Table_Bags
    where Total_Bags > 0

    Atau gunakan subquery

    select t1.Small_Bags, t1.Total_Bags, t1.Small_Bags_Percent
        , cast(t1.Small_Bags_Percent as decimal(10,2))
    from 
        (select Small_Bags
            , Total_Bags
            , (Small_Bags / Total_Bags) * 100 AS Small_Bags_Percent
            , cast(((Small_Bags / Total_Bags) * 100) as decimal(10,2))
        from Table_Bags
        where Total_Bags > 0) t1

    balas
    0
  • Batalbalas