CDOW( )
CDOW( )會回傳該日期是星期幾。
如果想要將星期幾以數字表示,那就要使用DOW( )。
指令的格式
CDOW(date, length)
date 是特定的日期
length 表示欄位的長度。如果想要以縮寫呈現,那就要縮短欄位的長度。
範例
展示特定日期為星期幾:
CDOW(`20000801`, 7) = "Tuesday"
CDOW(`20000802`, 9) = "Wednesday"
CDOW(`20000801`, 3) = "Tue"
CHR( )
CHR( )會將你提供的十進位數字轉換成ASCII字元。
它允許你參考任何的ASCII字元,特別是那些你無法直接從鍵盤上輸入、或是無法被列印出的字元。
CHR( )的功能恰好與ASCII( )相反
指令的格式
CHR(character_number)
CHR( )會將character_number轉成ASCII字元傳回。character_number的值應該要介於1~255。
另外0被ACL用來當作欄位值間隔符號,如果將它用在CHR( )中可能會導致無法預測的錯誤。
範例
你可以使用CHR( )來將英鎊的符號 £ 與一個數字結合。
CHR(163)+"123.45" = "£123.45"
你也可以使用CHR( )當作一種工具,以便在欄位或紀錄中找尋特定的特殊字元。
CLEAN( )
我們用CLEAN( )來搜尋字串內任何不許可的字元,並將該字元之後的所有字元以空白取代
使用CLEAN( )可以確保欄位包含的非法值能被正確地顯示。我們同樣使用CLEAN( )來讓欄位各個部份能夠一致,像是包含姓與名的顧客的姓式欄位。
指令的格式
CLEAN(string <,extra_invalid_characters>)
這個CLEAN( )指令會從左到右將字元欄位或語法字串掃描一遍,以找出非法值。如果有找到,CLEAN( )就會以空白取代非法的資料與剩餘的字串。
這邊的第二個參數extra_invalid_characters允許你定義額外的非法字元,在用它時,你一定要將字串用" "包起來。
藉由將Blank Invalid Data選項打開,你可以對所有字元欄位自動地使用CLEAN( )。作法是在主選單的Tools裡,找到Options,點選Numeric選單,然後將Blank Invalid Data打勾。
範例
CLEAN("ABC%DEF","%") = "ABC "
CLEAN("1234.56,111,2", ",") = "1234.56 "
在以下的範例中,#表式示法的字元資料:
CLEAN("DOE, JOHN##102891231") = "DOE, JOHN "
CLEAN("DOE, JOHN##102891231", ",") = "DOE "
CTOD( )
CTOD( )會將字元或數值語法轉換成合法的資料語法。
為了比較日期的欄位值,我們會使用CTOD( )來創造資料,特別當日期不是常數時。例如,在一個日期前,你可以藉由以下的語法定義所有日期
DATE < CTOD(year+month+day)
ACL用第一個日期1900/1/1來決定恰當的資料值。
這個用法已經被使用日期常數大大地取代了,請各位參考Date。
指令的格式
CTOD(field <,"date_format">)
CTOD指令將字元字串或數值轉換成合法的日期。CTOD( )是一個被很多其他軟體所用的標準指令名稱。不過不像其它的軟體,ACL也可以將數字轉換成日期。
如果第一個參數是一個數字,那它就會自動地被轉成字串。
我們假設第一個參數會被存 " YYYYMMDD " 或 " YYMMDD "。不過ACL也允許你自己定義日期的格式。舉例來說,我們可以使用下面的語法將日期訂成 " YYDDD "
CTOD(date,"YYDDD")
這個字串與Set Date和日期資料型態有著相同的形式。因為這字串是個字元字串而非日期,所以它應該被放進雙引號或單引號裡。
範例
假設你有一個應收帳款的表單,裡面有一個到期日欄位叫做Due。現在你想要看所有的在7/1/1995之前到期的交易紀錄,為了達成你的目的,你必須要將所有的到期日資料與1995年7月1號做比較。因為到期日欄位被ACL認為式一個獨特的數字,因此你無法僅拿它與07/01/95或950701做比較。你必須將1995年7月1號轉換成其他的數字。
因而我們使用以下的if判斷式或filter:
Due < CTOD(950701)
這些語法會傳回1995年12月31號:
CTOD("951231")
CTOD(311295,"DDMMYY")
CTOD("19951231")
CTOD("951231", "YYMMDD")
CTOD("311295", "DDMMYY")
CTOD(951231)
CTOD(95365, "YYDDD")
CTOD("31/12/1995", "DD/MM/YYYY")
假設日期的格式是MM/DD/YY:
CTOD("951220") = "12/20/95"
CTOD("DEC2095","MMMDDYY") = "12/20/95"
CUMIPMT( )
CUMIPMT( )會計算在一段特定時間內借貸的利息支出。
指令的格式
CUMIPMT(rate, periods, amount, start_period, end_period <,type>)
rate表示一段週期內的利率
periods表示借貸的週期
amount表示借貸的金額
start_period表示週期的開始,你不能使用0當第一個週期。
end_period表示最後一個週期。結束的週期不能比總付款週期還要長
type表示付款是在週期的開始還是終了時到期。它的預設值為0,表示付款是在週期終了時到期。1的話則表示付款是在週期的開始到期。
舉例來說,如果你有個採月付的兩年借款,它的利率是6%,因此我們的利率要用.06/12,而週期是2*12。如果你是年付的話,則利率是.06,而週期是2。
範例
我們現在要看一個25年,金額$275000,年利率6.5%,付款到期為週期開始的借款,在第二年的時候要付多少錢:
CUMIPMT(0.065/12, 12*25, 275000, 13, 24, 1)
我們總共要付的金額為$17343.28。
接著讓我們看看第一年要付多少利息:
CUMIPMT(0.065/12, 12*25, 275000, 1, 12, 1)
我們總共要付的利息為$16164.17。
| 2 |
| |
|