Date$Time
函數名稱 | 測試用列 | 描述 | 測試結果 |
CurrentDate | CurrentDate() | 擷取系統當天日期 | 2008-08-05 |
CurrentTime | CurrentTime() | 擷取系統當天時間 | 17:52:31 |
CurrentTimestamp | CurrentTimestamp() | 擷取系統當天日期時間 | 2008-08-05 17:52:31 |
HoursFromTime | HoursFromTime(’08:01:02’) | 擷取小時 | 8 |
JulianDayFromDate | JulianDayFromDate(‘2008-08-05’) | 2454685 | |
MicroSecondsFromTime | MicroSecondsFromTime(‘17:52:31’) | 傳回一個微妙數 | |
MinutesFromTime | MinutesFromTime('14:24:45') | 傳回一個分鐘數 | 24 |
MonthDayFromDate | MonthDayFromDate("2008-08-13") | 傳回當月的第幾天 | 13 |
DateFromDaysSince | DateFromDaysSince('13',"2008-08-12") | 傳回當天時間被加後的日期類型 | 2008-08-25 |
MonthFromDate | MonthFromDate('2008-09-01') | 傳回當月的月 | 9 |
NextWeekdayFromDate | NextWeekdayFromDate('2008-08-10','Thursday') | 傳入當月當天日期傳回得到傳入星期幾的下一個日期幾 | 2008-08-14 |
PreviousWeekdayFromDate | PreviousWeekdayFromDate('2008-08-10','Wednesday') | 傳入當月當天日期傳回得到傳入星期幾的上一個日期幾 | 2008-08-06 |
SecondsFromTime | SecondsFromTime('17:23:44') | 傳入時間傳回時間的秒數 | 44 |
SecondsSinceFromTimestamp | SecondsSinceFromTimestamp('2008-08-06 10:01:31','2008-08-19 09:12:31') | 傳回兩個日期的比較後得出的秒數 | -1.12026e+06 = -1120260 |
TimeDate | TimeDate() | 擷取系統時間以時間,日,月,年顯示 | 14:07:50 06 Aug 2008 |
TimeFromMidnightSeconds | TimeFromMidnightSeconds('120') | 傳入秒數獲得以計算秒為時間機關的時間 | 00:02:00 |
TimestampFromDateTime | TimestampFromDateTime('2008-09-01','07:30:41') | 傳入日期,時間整合傳回Timestamp | 2008-09-01 07:30:41 |
TimestampFromSecondsSince | TimestampFromSecondsSince('120','2008-08-07 11:12:13') | 傳入秒數,Timestamp後傳回将秒數累加到Timestamp類型上 | 2008-08-07 11:14:13 |
TimestampFromTimet | TimestampFromTimet('120') | 傳入秒數傳回一個unix上的timestamp類型 | 1970-01-01 00:02:00 |
TimetFromTimestamp | TimetFromTimestamp('1970-01-01 00:02:00') | 傳入timestamp類型傳回unix time_t | 120 |
WeekdayFromDate | WeekdayFromDate('2008-08-09','Wednesday') | 傳入日期和星期幾傳回傳入日期目前星期(星期天排除為目前星期)的天數,向上查詢 | 3 |
YeardayFromDate | YeardayFromDate('2008-09-09') | 傳入日期傳回傳入日期的當天數 | 253 |
YearFromDate | YearFromDate('2008-09-09') | 傳入日期傳回年份數 | 2008 |
YearweekFromDate | YearweekFromDate('2008-09-09') | 傳入日期傳回傳入日期的所在周數 | 37 |
IsValid | if IsValid('int32', CUSTOMER) then AsInteger(DSLink2.TXN_CNT) else '' if IsValid('dfloat',DSLink2.TXN_AMT) then DSLink2.TXN_AMT else '' | 傳入一個參數和他的比對類型,如果比對就輸出,不比對則為空 "date", "decimal", "dfloat", "sfloat", "int8", "uint8","int16", "uint16", "int32","uint32", "int64", "uint64", "raw","string", "time", "timestamp"."ustring" | 123 0000123. |
Logicl
函數名稱 | 測試用列 | 描述 | 測試結果 |
BitAnd | BitAnd(235,25) 11101011 ---235 00011001 ---25 00001001 --9 | 傳入兩個int型參數,将他們轉化為二進制,通過“或”關系将最後參數傳回,當為1與0比為0,1與1比為1 | 9 |
BitCompress | if BitCompress(0)=0 then 0 else 1 | 傳入的參數隻能為1或0,當條件成立傳回1 | |
BitOr | BitOr (321,123) 101000001 ---321 001111011 ---123 101111011 ---379 | 傳入兩個int型參數,将他們轉化為二進制,通過“與”關系将最後參數傳回,當為1與0比為1,1與1比為1 | 379 |
BitXOr | BitXOr(321,123) 101000001 ---321 001111011 ---123 100111010 ---314 | 傳入兩個int型參數,将他們轉化為二進制,當1與0比為1,1與1比為0 | 314 |
Not | Not(1=1) | 判斷表達式,如果為真傳回為0,如果為假傳回為1 |
Number
函數名稱 | 測試用列 | 描述 | 測試結果 |
AsDouble | AsDouble(12.123456) | 保留4為小數最後一位四舍五入 | 12.1235 |
AsFloat | AsFloat(13.654321) | 保留4為小數最後一位四舍五入 | 13.6543 |
AsInteger | AsInteger(11.23) | 傳入小數傳回整數 | 11 |
MantissaFromDecimal | MantissaFromDecimal(15.123456) | 取小數尾數 | 1.23456e+09 1234560000 |
MantissaFromDFloat | MantissaFromDFloat(16.22222) | 取小數尾數 | 2222 |
String
函數名稱 | 測試用列 | 描述 | 測試結果 |
AlNum | AlNum('Sting12') | 傳入的參數如果string類型傳回1 | 1 |
Alpha | Alpha('String') | 傳入的參數為必須為string不能帶有其他字元,如果有則為0 | 1 |
CompactWhiteSpace | CompactWhiteSpace('Str ing'):' ':CompactWhiteSpace('a bc d'):' ':CompactWhiteSpace('A B C D') | 将多個字元串類型串聯為一個類型 | Str ing a bc d A B C D |
Compare | Compare('abc','def','L'):' ':Compare('def','abc','R'):' ':Compare('qwer','qwer','R') | 比較字元串大小,按照ascII比較方式 | -1 1 |
CompareNoCase | CompareNoCase('B','C'):' ':CompareNoCase('a','a') | 比較兩個字元串是否相等,相等為0,不相等為-1 | -1 |
CompareNum | CompareNum('A','B',1):' ':CompareNum('B','B',1):' ':CompareNum('abc','cde',3):' ':CompareNum('abcd','a',4) | 比較傳入的參數,如果絕對相同為0,傳入的arg2包含在傳入的arg1中為1,不相等為-1 | -1 -1 1 |
Convert | Convert('bd','12', 'abcdefghijk') | Arg1查找的參數,arg2是需要修改為的參數。最後傳回修改後的結果 | a1c2efghijk |
Count | Count('jxj','j') | 擷取相同字元的合計 | 2 |
Dcount | Dcount('jxj','j') | 擷取相同字元的合計然後再加1 | 3 |
DownCase | DownCase('ACRM123ACrm123acRM') | 将字元中的大寫轉化為小寫 | acrm123acrm123acrm |
DQuote | DQuote('abcd':'mnb'):'123' | 将兩個字元串連接配接起來用雙引包括 | "abcdmnb"123 |
Field | Field('parallel','l',3) | 将字元串中的字元串取出來 | e |
Index | Index('a;lkdfjioquejrlkjasopdifu','j',2) | 索引字元串’j’直到發現第2個’j’的時候停止并傳回長度 | 13 |
Left | Left('abcdefghijk',4) | 從左邊取4位字元串 | abcd |
Right | Right('abcdefghijk',4) | 從右邊取4位字元串 | hijk |
Len | Len('asdlkfjalsdf') | 傳回字元串的長度 | 12 |
Num | Num(1234) | 如果是數字傳回為1,非數字傳回為0 | 1 |
PadString | PadString('abcd','acr',3) | 第一個參數為輸出參數,第二個為追加參數(隻取字元串的第一位),第3個為追加幾次 | abcdaaa |
Soundex | Soundex('longtop') | 通過英文發音的比對來擷取 | L523 |
Squote | Squote('asdfasdf':'12') | 将傳入的字元串想通過單引号包括 | 'asdfasdf12' |
Str | Str("A", 20 - Len('asd')) | 将傳入第一個參數和後面數字做聯系,複制第一參數 | AAAAAAAAAAAAAAAAA |
Space | Space(10 - Len('asdf')) | 追加空格 | ‘ ‘ |
StripWhiteSpace | StripWhiteSpace('ab e q w e r') | 将字元串中所有的空格去掉 | abeqwer |
Trim | Trim(' askd ') Trim(' kk a b c ',' ') Trim(' kk a b c ',' ','A') Trim(' kk a b c ',' ','L') Trim(' kk a b c ',' ','B') Trim(' kk a b c ',' ','R') Trim(' kk a b c ',' ','F') Trim(' kk a b c ',' ','E') Trim(' kk a b c ',' ','D') | 去除左右兩邊空格 去除多餘的空格 去除全部的空格 去除左右的空格 去除左右兩邊 去左右兩邊和多餘空格 去除左邊空格 去除右邊空格 去除多餘的空格 | askd kk a b c kkabc kk a b c kk a b c kk a b c kk a b c kk a b c kk a b c |
TrimB | TrimB(' kkkk ') | 去除右邊的空格 | kkkk |
TrimF | TrimF(' kkkk ') | 去除左邊的空格 | kkkk |
TrimLeadingTrailing | TrimLeadingTrailing(' k k k k ') | 去除左右兩邊空格删除第一和最後的空格 | k k k k |
UpCase | UpCase('abcd') | 将所有小寫轉換為大寫 | ABCD |
函數名稱 | 測試用列 | 描述 | 測試結果 |
Char | Char(123) | 将數字轉化為對應的ASCII碼 | { |
DateToString | DateToString('2008-08-01',"%yyyy-%mm-%dd") | 将日期轉化為字元 | 2008-08-01 |
DecimalToDecimal | DecimalToDecimal(13.55) | 将decimecl類型轉化為decimal類型 | 0000000000000000000000000013.5500000000 |
DecimalToDFloat | DecimalToDFloat(13.5678897866854464) | 将decimecl類型轉化為float類型并四舍五入 | 13.5679 |
DecimalToString | DecimalToString(123.567) | 将decimecl類型轉化為string類型輸出 | 0000000000000000000000000123.5670000000 |
DFloatToDecimal | DFloatToDecimal(12.5658) | 将float轉化為decimal類型 | 0000000000000000000000000012.5658000000 |
DFloatToStringNoExp | DFloatToStringNoExp(29.10,'2'):' ':DFloatToStringNoExp(29.120,'3'):' ':DFloatToStringNoExp(29.120,'4') | 取dfloat的位數并轉化為string輸出 | 29 29.12 29.12 |
Seq | Seq ('A'):' ':Seq('B') | 将傳入的字元轉化為相對應的ASCII數字 | 65 66 |
StringToDate | StringToDate('19821114',"%yyyy%mm%dd") | 将字元類型的日期轉化為日期類型輸出 | 1982-11-14 |
StringToDecimal | StringToDecimal('12.345','ceil'):' ':StringToDecimal('12.345','floor') | 得到最大的。 得到最小的。 | 0000000000000000000000000012.3450000000 000 |
StringToTime | StringToTime('081114',"%hh%nn%ss") | 将字元類型的時間轉化為時間類型 | 08:11:14 |
StringToTimestamp | StringToTimestamp('19261212 001245',"%yyyy%mm%dd %hh%nn%ss") | 将字元的timestamp類型轉化為timestamp類型 | 1926-12-12 00:12:45 |
TimestampToDate | TimestampToDate(CurrentTimestamp()) | 将timestamp轉化為日期類型 | 2008-08-12 |
TimestampToString | TimestampToString(CurrentTimestamp(),"%yyyy/%mm/%dd %hh/%nn/%ss") | 将日期類型按照傳回的格式轉化為字元類型 | 2008/08/12 15/18/18 |
TimestampToTime | TimestampToTime(CurrentTimestamp()) | 将timestamp轉化為時間類型 | 15:18:18 |
TimeToString | TimeToString(CurrentTime(),"%hh-%nn-%ss") | 将時間類型按照傳回的格式轉化為字元類型 | 15-18-18 |
StringToUString | StringToUString('Ustring') | 将string類型轉化為Ustring類型(Char, varchar, longvarchar) | Ustring |
UStringToString | UStringToString('string') | 将Ustring(Char, varchar, longvarchar)類型轉化為string類型 |