Hirdetés

Új hozzászólás Aktív témák

  • Agony
    aktív tag

    Ezeket a convert() meg cast() függvényeket mondták neked vagy magadtól használod? Nagyon ritkán találkozom velük, de szerintem nem is biztos, hogy szükség van rájuk.

    A nullával osztást én úgy szoktam áthidalni, hogy elágazást írok rá:

    CASE
    WHEN nvl(t.EGYSAR, 0) = 0 THEN
    NULL -- vagy amit szeretnél helyette
    ELSE
    convert(varchar(20),cast((t.KEDV/t.EGYSAR)*100 as decimal(15,2)))
    END as 'Kedvezmény (%)'

    Azért raktam be őket, mert amúgy rengeteg felesleges számot hoz az oszlopokhoz. Pl. dátumokat másodpercekig lebontva, összegeket meg több mint 5 tizedesjegyig.

    Végül a nullával osztásra is kitaláltam egy barkács megoldást, úgyhogy benne maradt a %-os Árrés is:

    case t.EGYSAR < '1' then '0'
    else convert(varchar(20),cast((t.KEDV/t.EGYSAR)*100 as decimal(15,2))) end as 'Kedv %',

    Lényegében ugyanaz mint amit te irtál, bár a tied szakszerűbbnek tűnik. :)

Új hozzászólás Aktív témák