如何使用 "start of month" sqlite 日期修饰符使用 SQLite.swift
How to use "start of month" sqlite date modifier using SQLite.swift
抱歉,我不会 post 任何代码,但我什至不知道从哪里开始尝试使用 SQLite.swift 编写此语句的代码,我搜索了又搜索,但没有找到任何可以帮助:
编辑:(我试图避免使用 RAW SQL 但如果没有选项将恢复为它)
select date(InvoiceExpDate,'start of month') as month, sum(PaymentAmount)
from PaySchedules group by month
我有一个名为 PaySchedules 的 table,它有一个日期字段 (InvoiceExpDate) 和一个数字字段 (PaymentAmount)
如有指点或代码示例,我将不胜感激。
谢谢!
因为过了很长一段时间没有选择,我会 post,以防万一这对某人有用,答案使用原始 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
}
希望对大家有所帮助!
谢谢
抱歉,我不会 post 任何代码,但我什至不知道从哪里开始尝试使用 SQLite.swift 编写此语句的代码,我搜索了又搜索,但没有找到任何可以帮助:
编辑:(我试图避免使用 RAW SQL 但如果没有选项将恢复为它)
select date(InvoiceExpDate,'start of month') as month, sum(PaymentAmount)
from PaySchedules group by month
我有一个名为 PaySchedules 的 table,它有一个日期字段 (InvoiceExpDate) 和一个数字字段 (PaymentAmount)
如有指点或代码示例,我将不胜感激。
谢谢!
因为过了很长一段时间没有选择,我会 post,以防万一这对某人有用,答案使用原始 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
}
希望对大家有所帮助!
谢谢