Fast Report - SQL Lite Functions Commonly Use: Difference between revisions

From eStream Software
No edit summary
Line 1: Line 1:
===01. How to get the date difference results in days using SQL Lite?===
==01. How to get the date difference results in days using SQL Lite?==
===Example 1: Date different in between the Payment Date and Invoice Date ===
===Example 1: Date different in between the Payment Date and Invoice Date ===
:Payment Date = 05/05/2016
:Payment Date = 05/05/2016
Line 50: Line 50:
|}
|}
<div style="float: right;">  [[#top|[top]]]</div>
<div style="float: right;">  [[#top|[top]]]</div>
==02. Why on Query for Float or Currency type Field (eg DocAmt) the result become Integer?==
: Try use ''CAST'' (eg SUM(CAST(DocAmt AS REAL)) DocAmt....)
<div style="float: right;">  [[#top|[top]]]</div>
==03. Why after Query for Date type field (eg DocDate) the date look in yyyymmdd format?==
: Try use ''strftime'' (eg strftime(''%d/%m/%Y'', A.DocDate) AS DocDate )
<div style="float: right;">  [[#top|[top]]]</div>
==See also==
* [[Report Designer]]
* Others [[Customisation]]

Revision as of 03:52, 6 May 2016

01. How to get the date difference results in days using SQL Lite?

Example 1: Date different in between the Payment Date and Invoice Date

Payment Date = 05/05/2016
Invoice Date = 15/03/2016
Month Days
Mar 2016 16 Date from Invoice Date, ie. 16/03/2016
April 2016 30 April month, ie. 01/04/2016 - 30/04/2016
May 2016 5 Date to payment date, ie. 05/05/2016
Date differences 51


Julianday(Date2) - Julianday(Date1)

(julianday(Date(PaymentDate)) - julianday(Date(InvoiceDate)))


Example 2: Date different in between the Payment Date and the month end of the Invoice Date

Payment Date = 05/05/2016
Invoice Date = 15/03/2016 (31/03/2016)
Month Days
April 2016 30 Date from Invoice Date, ie. 01/04/2016
May 2016 5 Date to payment date, ie. 05/05/2016
Date differences 35


Julianday(Date2) - Julianday(Date1, start of month, 1 month,-1 day))

(julianday(Date(PaymentDate))-julianday(DATE(InvoiceDate, start of month, 1 month, -1 day)))

02. Why on Query for Float or Currency type Field (eg DocAmt) the result become Integer?

Try use CAST (eg SUM(CAST(DocAmt AS REAL)) DocAmt....)

03. Why after Query for Date type field (eg DocDate) the date look in yyyymmdd format?

Try use strftime (eg strftime(%d/%m/%Y, A.DocDate) AS DocDate )

See also