# inyeartodate - 指令碼與圖表函數

如果 timestamp 落於包含 base\_date 的年度部分內，且不超過 (可包含) base\_date 的最後一毫秒，此函數會傳回 True。

語法：

InYearToDate (timestamp, base\_date, period\_no[, first\_month\_of\_year])

**傳回資料類型：**布林

引數：

InYearToDate 引數

| 引數 | 描述 |
| --- | --- |
| timestamp | 想要與 base\_date 比較的日期。 |
| base\_date | 用於評估年度的日期。 |
| period\_no | 年度可透過 period\_no 加以位移。period\_no 為整數，其中值 0 表示是包含 base\_date 的年度。period\_no 中的負值表示之前的年度，正值表示之後的年度。 |
| first\_month\_of\_year | 如果要使用不起始於 1 月的 (會計) 年度，可在 first\_month\_of\_year 中指定介於 2 和 12 之間的值。 |

範例 1:

`inyeartodate ('2013/01/25', '2013/02/01',   0)`

傳回 True

範例 2:

`inyeartodate ('2012/01/25', '2013/01/01',   0)`

傳回 False

範例 3:

`inyeartodate ('2012/01/25', '2013/02/01',   -1)`

傳回 True

範例 4:

`inyeartodate ('2012/11/25', '2013/01/31',   0, 4)`

傳回 True  
timestamp 的值落在從第四個月開始的會計年度內，並在 base\_date 的值之前。

範例 5:

`inyeartodate ( '2013/3/31', '2013/01/31',   0, 4 )`

傳回 False  
與先前的範例相比較，timestamp 的值仍在會計年度內，但是在 base\_date 的值之後，因此它在年度部分之外。

範例 6:

新增範例指令碼到您的文件中並加以執行。然後至少將結果資料行中所列的欄位新增至您文件中的工作表，以查看結果。

此範例透過將 first\_month\_of\_year 的值設為 4，檢查發票日期是否落在指定的會計年度內，並在 31/01/2013 結束之前的年度部分內。

`TempTable:` `LOAD RecNo() as InvID, * Inline [` `InvDate` `28/03/2012` `10/12/2012` `5/2/2013` `31/3/2013` `19/5/2013` `15/9/2013` `11/12/2013` `2/3/2014` `14/5/2014` `13/6/2014` `7/7/2014` `4/8/2014` `];` ` ` `InvoiceData:` `LOAD *,` `InYearToDate(InvDate, '31/01/2013', 0, 4) AS FinYr2Date` `Resident TempTable;`

`Drop table TempTable;`

產生的表格包含原始日期，以及具有 inyeartodate() 函數之傳回值的資料行。

範例 6 結果

| InvDate | FinYr2Date |
| --- | --- |
| 28/03/2012 | 0 (False) |
| 10/12/2012 | -1 (True) |
| 5/2/2013 | 0 (False) |
| 31/3/2013 | 0 (False) |
| 19/5/2013 | 0 (False) |
| 15/9/2013 | 0 (False) |
| 11/12/2013 | 0 (False) |
| 2/3/2014 | 0 (False) |
| 14/5/2014 | 0 (False) |
| 13/6/2014 | 0 (False) |
| 7/7/2014 | 0 (False) |
| 4/8/2014 | 0 (False) |