如何使用SQLite.swift使用“月初”sqlite日期修饰符

时间:2017-02-12 15:14:51

标签: ios swift sqlite sqlite.swift

很抱歉,我无法发布任何代码,但我甚至不知道从哪里开始尝试使用SQLite.swift编写此语句,我已搜索并搜索但未找到任何可能有用的内容:

编辑:(我试图避免使用RAW SQL,但如果没有选项会恢复它)

select date(InvoiceExpDate,'start of month') as month, sum(PaymentAmount) 
from PaySchedules group by month

我有一个名为PaySchedules的表,其中包含日期字段(InvoiceExpDate)和数字字段(PaymentAmount)

我很感激任何指针或代码示例。

谢谢!

1 个答案:

答案 0 :(得分:0)

由于经过相当长的一段时间没有选项,我会发布,以防万一这是为某人服务的,使用原始sql的答案:

        let select = " select date(PaySchedules.InvoiceDate,'start of month') as month, sum(PaySchedules.PaymentAmount) as amount from PaySchedules join contracts on PaySchedules.Contract_ID = Contracts.ID where invoicedate is not null group by month order by month"

    do{
        let stmt = try db.prepare(select)
        for row in stmt{
            let tmpMonth = row[0] as! String
            var tmpDate = Date()
            tmpDate = dateFormatterYYYYMMDD.date(from: tmpMonth)!
            let tmpAmount = row[1] as! Int64

            let revItemTemp = pnlRevenue() // pnlRevenue Class defined elsewhere
            revItemTemp.pnlRev_Month = tmpDate
            revItemTemp.pnlRev_Amount = Int(tmpAmount)

            revItems.append(revItemTemp) // revItems declared elsewhere as: var revItems: [pnlRevenue] = [] 

        }
    }
    catch{
        //Nothing
    }

希望这可以帮助别人!

由于