Transformer Stage:各个函数的意义:
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’)
返回一个微妙数
0
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
0
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
0
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
0
CompareNoCase
CompareNoCase('B','C'):' ':CompareNoCase('a','a')
比较两个字符串是否相等,相等为0,不相等为-1
-1
0
CompareNum
CompareNum('A','B',1):' ':CompareNum('B','B',1):' ':CompareNum('abc','cde',3):' ':CompareNum('abcd','a',4)
比较传入的参数,如果绝对相同为0,传入的arg2包含在传入的arg1中为1,不相等为-1
-1
0
-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类型
string