DataStage_Transformer常用函数

更新时间:2024-07-01 22:06:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Transformer Stage:各个函数的意义: Date$Time 函数名称 CurrentDate CurrentTime CurrentTimestamp HoursFromTime JulianDayFromDate MicroSecondsFromTime MinutesFromTime MonthDayFromDate DateFromDaysSince MonthFromDate NextWeekdayFromDate 测试用列 CurrentDate() CurrentTime() CurrentTimestamp() HoursFromTime(’08:01:02’) JulianDayFromDate(‘2008-08-05’) MicroSecondsFromTime(‘17:52:31’) MinutesFromTime('14:24:45') MonthDayFromDate(\DateFromDaysSince('13',\MonthFromDate('2008-09-01') NextWeekdayFromDate('2008-08-10','Thursday') 描述 获取系统当天日期 获取系统当天时间 测试结果 2008-08-05 17:52:31 获取系统当天日期2008-08-05 时间 17:52:31 获取小时 返回一个微妙数 返回一个分钟数 返回当月的第几天 8 2454685 0 24 13 返回当天时间被加2008-08-25 后的日期类型 返回当月的月 9 传入当月当天日期2008-08-14 返回得到传入星期几的下一个日期几 PreviousWeekdayFromDate PreviousWeekdayFromDate('2008-08-10','Wednesday') 传入当月当天日期2008-08-06 返回得到传入星期几的上一个日期几 SecondsFromTime('17:23:44') 传入时间返回时间44 的秒数 返回两个日期的比-1.12026e+06 = 较后得出的秒数 -1120260 06 获取系统时间以时14:07:50 间,日,月,年显示 Aug 2008 传入秒数获得以计00:02:00 算秒为时间单位的时间 传入日期,时间整合返回Timestamp 2008-09-01 07:30:41 SecondsFromTime SecondsSinceFromTimestamp SecondsSinceFromTimestamp('2008-08-06 10:01:31','2008-08-19 09:12:31') TimeDate TimeFromMidnightSeconds TimeDate() TimeFromMidnightSeconds('120') TimestampFromDateTime TimestampFromDateTime('2008-09-01','07:30:41') TimestampFromSecondsSince TimestampFromSecondsSince('120','2008-08-07 11:12:13') 传入秒数,2008-08-07 Timestamp后返回将11:14:13 秒数累加到Timestamp类型上 传入秒数返回一个1970-01-01 unix上的timestamp00:02:00 类型 传入timestamp类型120 返回unix time_t TimestampFromTimet TimestampFromTimet('120') TimetFromTimestamp TimetFromTimestamp('1970-01-01 00:02:00') WeekdayFromDate WeekdayFromDate('2008-08-09','Wednesday') 传入日期和星期几3 返回传入日期当前星期(星期天排除为当前星期)的天数,向上查询。 YeardayFromDate YearFromDate YearweekFromDate IsValid YeardayFromDate('2008-09-09') YearFromDate('2008-09-09') YearweekFromDate('2008-09-09') if IsValid('int32', CUSTOMER) 传入日期返回传入253 日期的当天数 传入日期返回年份2008 数 传入日期返回传入37 日期的所在周数 then 传入一个参数和他123 的匹配类型,如果匹 配就输出。不匹配则 then 为空 \\\\\\\\\\\\0000123. AsInteger(DSLink2.TXN_CNT) else '' if IsValid('dfloat',DSLink2.TXN_AMT) DSLink2.TXN_AMT else '' Logicl 函数名称 BitAnd 测试用列 BitAnd(235,25) 11101011 ---235 00011001 ---25 00001001 --9 BitCompress BitOr 当条件成立返0 if BitCompress(0)=0 then 传入的参数只能为1或0,回1 0 else 1 传入两个int型参数,将他们转化为二进379 BitOr (321,123) 制,通过“与”关系将最后参数返回,当101000001 ---321 001111011 ---123 101111011 ---379 BitXOr BitXOr(321,123) 101000001 ---321 001111011 ---123 100111010 ---314 为1与0比为1,1与1比为1 传入两个int型参数,将他们转化为二进314 制,当1与0比为1,1与1比为0 描述 测试结果 传入两个int型参数,将他们转化为二进9 制,通过“或”关系将最后参数返回,当为1与0比为0,1与1比为1 Not Number 函数名称 AsDouble AsFloat AsInteger MantissaFromDecimal MantissaFromDFloat

String 函数名称 AlNum Alpha Not(1=1) 判断表达式,如果为真返回为0,如果为假返回为1 0 测试用列 AsDouble(12.123456) AsFloat(13.654321) AsInteger(11.23) 描述 保留4为小数最后一位四舍五入 保留4为小数最后一位四舍五入 传入小数返回整数 测试结果 12.1235 13.6543 11 1.23456e+09 1234560000 2222 MantissaFromDecimal(15.123456) 取小数尾数 MantissaFromDFloat(16.22222) 取小数尾数 测试用列 AlNum('Sting12') Alpha('String') 描述 传入的参数如果string类型返回1 测试结果 1 传入的参数为必须为1 string不能带有其他字符,如果有则为0 ing'):' 将多个字符串类型串联Str ing a bc d A B C D d'):' 为一个类型 比较字符串大小,按照-1 ascII比较方式 1 0 比较两个字符串是否相-1 等,相等为0,不相等为0 -1 比较传入的参数,如果绝对相同为0,传入的arg2包含在传入的arg1中为1,不相等为-1 -1 0 -1 1 CompactWhiteSpace CompactWhiteSpace('Str ':CompactWhiteSpace('a Compare('abc','def','L'):' ':Compare('def','abc','R'):' ':Compare('qwer','qwer','R') bc ':CompactWhiteSpace('A B C D') Compare CompareNoCase CompareNoCase('B','C'):' ':CompareNoCase('a','a') CompareNum CompareNum('A','B',1):' ':CompareNum('B','B',1):' ':CompareNum('abc','cde',3):' ':CompareNum('abcd','a',4) Convert('bd','12', 'abcdefghijk') Convert Arg1查找的参数,arg2a1c2efghijk 是需要修改为的参数。最后返回修改后的结果 获取相同字符的合计 2 获取相同字符的合计然3 后再加1 Count Dcount DownCase DQuote Count('jxj','j') Dcount('jxj','j') DownCase('ACRM123ACrm123acRM') 将字符中的大写转化为acrm123acrm123acrm 小写 DQuote('abcd':'mnb'):'123' 将两个字符串连接起来\用双引包括 Field Index Field('parallel','l',3) Index('a;lkdfjioquejrlkjasopdifu','j',2) 将字符串中的字符串取e 出来 索引字符串’j’直到发现第2个’j’的时候停止并返回长度 13 Left Right Len Num PadString Left('abcdefghijk',4) Right('abcdefghijk',4) Len('asdlkfjalsdf') Num(1234) PadString('abcd','acr',3) 从左边取4位字符串 从右边取4位字符串 返回字符串的长度 如果是数字返回为1,非数字返回为0 abcd hijk 12 1 第一个参数为输出参数,abcdaaa 第二个为追加参数(只取字符串的第一位),第3个为追加几次 通过英文发音的比对来L523 获取 将传入的字符串想通过'asdfasdf12' 单引号包括 将传入第一个参数和后AAAAAAAAAAAAAAAAA 面数字做联系,复制第一参数 追加空格 ‘ ‘ 将字符串中所有的空格abeqwer 去掉 去除左右两边空格 去除多余的空格 去除全部的空格 去除左右的空格 去除左右两边 去左右两边和多余空格 去除左边空格 去除右边空格 去除多余的空格 去除右边的空格 去除左边的空格 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 kkkk kkkk Soundex Squote Str Soundex('longtop') Squote('asdfasdf':'12') Str(\Space StripWhiteSpace Trim Space(10 - Len('asdf')) StripWhiteSpace('ab e q w e r') 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') TrimB TrimF TrimLeadingTrailing UpCase

TrimB(' kkkk ') TrimF(' kkkk ') TrimLeadingTrailing(' k k k k ') UpCase('abcd') 去除左右两边空格删除k k k k 第一和最后的空格 将所有小写转换为大写 ABCD 函数名称 Char DateToString DecimalToDecimal DecimalToDFloat DecimalToString DFloatToDecimal DFloatToStringNoExp Seq StringToDate StringToDecimal 测试用列 Char(123) DateToString('2008-08-01',\%mm-Y\DecimalToDecimal(13.55) DecimalToDFloat(13.5678897866854464) DecimalToString(123.567) DFloatToDecimal(12.5658) DFloatToStringNoExp(29.10,'2'):' ':DFloatToStringNoExp(29.120,'3'):' ':DFloatToStringNoExp(29.120,'4') Seq ('A'):' ':Seq('B') StringToDate('19821114',\mY\StringToDecimal('12.345','ceil'):' ':StringToDecimal('12.345','floor') 描述 将数字转化为对应的ASCII码 将日期转化为字符 将decimecl类型转化为decimal类型 将decimecl类型转化为float类型并四舍五入 将decimecl类型转化为string类型输出 将float转化为decimal类型 取dfloat的位数并转化为string输出 将传入的字符转化为相对应的ASCII数字 将字符类型的日期转化为日期类型输出 得到最大的。 得到最小的。 将字符类型的时间转化为时间类型 将字符的timestamp类型测试结果 { 2008-08-01 0000000000000000000000000013.5500000000 13.5679 0000000000000000000000000123.5670000000 0000000000000000000000000012.5658000000 29 29.12 29.12 65 66 1982-11-14 0000000000000000000000000012.3450000000 000 08:11:14 1926-12-12 00:12:45 StringToTime StringToTimestamp StringToTime('081114',\s\StringToTimestamp('19261212 001245',\%hh%nn转化为timestamp类型 %ss\TimestampToDate TimestampToString TimestampToDate(CurrentTimestamp()) TimestampToString(CurrentTimesta将timestamp转化为日期类型 将日期类型按照返回的2008-08-12 2008/08/12 15/18/18 mp(),\%hh/%nn/格式转化为字符类型 %ss\TimestampToTime TimeToString StringToUString TimestampToTime(CurrentTimestamp()) TimeToString(CurrentTime(),\%nn-%ss\StringToUString('Ustring') 将timestamp转化为时间类型 将时间类型按照返回的格式转化为字符类型 将string类型转化为UstringUStringToString UStringToString('string') 类型(Char, 15:18:18 15-18-18 Ustring varchar, longvarchar) 将Ustring(Char, varchar, string longvarchar)类型转化为string类型

本文来源:https://www.bwwdw.com/article/wj9.html

Top