2016-03-21 18 views
0
SELECT SUM(IF(create_month = MONTH(NOW() - INTERVAL 1 MONTH) 
      AND create_year = YEAR(NOW() - INTERVAL 1 MONTH), 1, 0)) AS lastmonth, 
    SUM(IF(create_month = MONTH(NOW() - INTERVAL 2 MONTH) 
      AND create_year = YEAR(NOW() - INTERVAL 2 MONTH), 1, 0)) AS lastmonth2 
FROM incident_view 
WHERE customer_company_name = "Company" 

Merhaba herkes,SQL - BigDecimal içinde Cast iki takma

nasıl BigDecimal türü/çift veya başka bir ondalık türü içine (her ikisi Int olan, geçenay ve lastmonth2) iki sonucu döküm miyim?

Yardımdan memnun olurum.

Alkış

+0

http://dev.mysql.com/doc/refman/5.7/en/cast-functions.html#function_cast –

cevap

0

Bir Java tipi değil, MySQL tipi olan BigDecimal bahsetti.

SELECT CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 1 MONTH) 
     AND create_year = YEAR(NOW() - INTERVAL 1 MONTH), 1, 0)) AS NUMERIC) AS lastmonth, 
     CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 2 MONTH) 
     AND create_year = YEAR(NOW() - INTERVAL 2 MONTH), 1, 0)) AS NUMERIC) AS lastmonth2 
FROM incident_view 
WHERE customer_company_name = "Company" 
0

Kullanım CAST(.. AS DECIMAL)

SELECT 
    CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 1 MONTH) 
      AND create_year = YEAR(NOW() - INTERVAL 1 MONTH), 1, 0)) AS DECIMAL) AS lastmonth, 
    CAST(SUM(IF(create_month = MONTH(NOW() - INTERVAL 2 MONTH) 
      AND create_year = YEAR(NOW() - INTERVAL 2 MONTH), 1, 0)) AS DECIMAL) AS lastmonth2 
FROM incident_view 
WHERE customer_company_name = "Company" 
: Her durumda, documentation Kadronuzun böyle bir şey görünebilir böylece Java en BigDecimal ile dönüştürmek, NUMERIC veya DECIMAL MySQL türü dahil, her iki türde bir dizi kullanılmasını önerir