DataStage常用函数大全.doc





《DataStage常用函数大全.doc》由会员分享,可在线阅读,更多相关《DataStage常用函数大全.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 DataStage常用函数大全DATASTAGE常用函数大全1一、类型转换函数41.Char42.DateToString43.DateToDecimal44.DecimalToDate55.DecimalToDecimal66.DecimalToDFloat67.DecimalToString78.DecimalToTime89.DecimalToTimestamp810.DFloatToDecimal911.DfloatToStringNoExp1012.IsValidDate1013.IsValidTime1114.IsValidTimestamp1115.RawNumAt1116.R
2、awToString1217.Seq1218.SeqAt1219.StringToDate1220.StringToDecimal1321.StringToRaw1322.StringToTime1323.StringToTimestamp1424.StringToUstring1425.TimestampToDate1426.TimestampToDecimal1427.TimestampToString1528.TimestampToTime1629.TimeToString1630.TimeToDecimal1631.UstringToString17二、字符串函数1732.AlNum1
3、733.Alpha1734.CompactWhiteSpace1835.Compare1836.CompareNoCase1837.CompareNum1838.CompareNumNoCase1939.Convert1940.Count1941.Dcount1942.DownCase2043.DQuote2044.Field2045.Index2046.Left2147.Len2148.Num2149.PadString2150.Right2151.Soundex2252.Space2253.SQuote2254.Str2255.StripWhiteSpace2356.Trim2357.Tr
4、imB2458.TrimF2459.TrimLeadingTrailing2460.UpCase24三、数字函数2561.AsDouble2562.AsFloat2563.AsInteger2564.MantissaFromDecimal2665.MantissaFromDFloat26四、日期和时间函数2666.CurrentDate2667.CurrentTime2768.CurrentTimeMS2769.CurrentTimestamp2770.CurrentTimestampMS2771.DateFromDaysSince2772.DateFromComponents2873.Dat
5、eFromJulianDay2874.DateOffsetByComponents2875.DaysSinceFromDate2976.DaysInMonth2977.DaysInYear2978.DateOffsetByDays3079.HoursFromTime3080.JulianDayFromDate3081.MicroSecondsFromTime3082.MidnightSecondsFromTime3183.MinutesFromTime3184.MonthDayFromDate3185.MonthFromDate3186.NextWeekdayFromDate3287.NthW
6、eekdayFromDate3288.PreviousWeekdayFromDate3289.SecondsFromTime3290.SecondsSinceFromTimestamp3391.TimeDate3392.TimeFromComponents3393.TimeFromMidnightSeconds3394.TimeOffsetByComponents3495.TimeOffsetBySeconds3496.TimestampFromDateTime3497.TimestampFromSecondsSince3498.TimestampFromTimet3599.Timestamp
7、OffsetByComponents35100.TimestampOffsetBySeconds35101.TimetFromTimestamp36102.WeekdayFromDate36103.YeardayFromDate36104.YearFromDate36105.YearweekFromDate37五、Null 处理函数37106.IsNotNull37107.IsNull37108.NullToEmpty38109.NullToZero38110.NullToValue38111.SetNull38一、 类型转换函数类型转换函数用于更改参数的类型。以下函数位于表达式编辑器的“类型
8、转换类别中。方括号表示参数是可选的。缺省日期格式为 %yyyy-%mm-%dd。以下示例按照 Transformer 阶段的“派生字段中所示来显示这些函数。1. Char根据其数字代码值生成一个 ASCII 字符。您可以指定 allow8bits 参数来转换 8 位 ASCII 值可选。 输入:code (number),allow8bits 输出:result (char) 示例。以下示例将 ASCII 码 65 输出为字符 A。Char(65)2. DateToString返回给定日期的字符串表示。可以指定字符串的格式可选。 输入:date (date),format (string) 输
9、出:result (string) 示例。以下示例会将 mylink.mydate 列中包含的日期输出为字符串。如果 mylink.mydate 包含日期 2009 年 8 月 18 日,那么输出字符串为“2009-08-18:DateToString(mylink.mydate)以下示例会将 mylink.mydate 列中包含的日期输出为 dd:mm:yyyy 格式的字符串。如果 mylink.mydate 包含日期 2009 年 8 月 18 日,那么输出字符串为“18:08:2009:DateToString(mylink.mydate, %dd:%mm:%yyyy)3. DateTo
10、Decimal将给定的日期返回为压缩十进制值。如果您的目标十进制数指定了小数位,那么局部日期会在小数点后显示。您可以指定格式字符串来指定如何以十进制数形式存储日期可选。缺省格式字符串为“%yyyy%mm%dd,因此,日期 2009-08-25 将存储为十进制数 20090825。格式字符串只能指定包含数字的格式。例如,不能指定诸如“%yyyy-%mm-%dd之类的格式字符串,这是因为压缩十进制值中不能存储连字符 (-)。以下标记对于与十进制值之间的转换有效: %yyyy四位数表示的年份%yy两位数表示的年份%NNNNyy截断的两位数年份%mm两位数表示的月份%dd两位数表示的一月中的第几天%d
11、dd三位数表示的一年中的第几天字面值数字 0 到 9 都有效。 输入:basedate (date) , format (string) 输出:converted_date (decimal) 示例。如果 mylink.basedate 列包含日期 2012-08-18,那么以下函数会将日期存储为十进制数 18082012:DateToDecimal (mylink.basedate, %dd%mm%yyyy)如果 mylink.basedate 列包含日期 2012-08-18,并且目标列的长度为 10,小数位为 2,那么以下函数会将日期存储为十进制数 201208.18:DateToDec
12、imal (mylink.basedate)4. DecimalToDate将给定的压缩十进制数返回为日期。在将十进制数转换为日期时,会忽略其符号和小数位。您可以指定格式字符串来指定如何以十进制数形式存储日期可选。缺省格式字符串为“%yyyy%mm%dd,因此,日期 2009-08-25 将存储为十进制数 20090825。格式字符串只能指定包含数字的格式。例如,不能指定诸如“%yyyy-%mm-%dd之类的格式字符串,这是因为压缩十进制值中不能存储连字符 (-)。以下标记对于与十进制值之间的转换有效: %yyyy四位数表示的年份%yy两位数表示的年份%NNNNyy截断的两位数年份%mm两位数
13、表示的月份%dd两位数表示的一月中的第几天%ddd三位数表示的一年中的第几天字面值数字 0 到 9 都有效。 输入:basedec (decimal) , format (string) 输出:date 示例。如果 mylink.mydecdata 列包含值 18082012,那么以下函数将返回日期 2012-08-18:DecimalToDate (mylink.basedate, %dd%mm%yyyy)如果 mylink.mydecdata 列包含值 -201208.18,那么以下函数将返回日期 2012-08-18:DecimalToDate (mylink.basedate)5. D
14、ecimalToDecimal以具有目标列定义中指定精度和小数位的十进制表示形式返回给定的十进制数。参数 rtype 指定取整类型,并设置为以下某个值可选: ceil。向正无穷方向对源字段取整。例如,1.4 - 2,-1.6 - -1。floor。向负无穷方向对源字段取整。例如,1.6 - 1,-1.4 - -2。round_inf。通过向正无穷方向对正数值取整并向负无穷方向对负数值取整,向最接近的可表示值对源字段进展取整或截断。例如,1.4 - 1,1.5 - 2,-1.4 - -1,-1.5 - -2。trunc_zero。不论符号如何,废弃位于目标数据支持的最右侧小数位右侧的任何小数位。
15、例如,如果目标数据是整数,那么截断所有小数位。如果目标数据是另一个具有更少小数位的小数,那么按照目标小数的小数位数进展取整或截断。例如,1.6 - 1,-1.6 - -1。 输入:decimal (decimal) ,rtype (string) 输出:result (decimal) 示例。如果 mylink.mydec 列包含十进制数 2.5345,那么以下函数将返回十进制数 00000002.54。DecimalToDecimal(mylink.mydec,ceil)以下函数将返回十进制数 00000002.53。DecimalToDecimal(mylink.mydec,floor)以
16、下函数将返回十进制数 00000002.53。DecimalToDecimal(mylink.mydec,trunc_zero)以下函数将返回十进制数 00000002.53。DecimalToDecimal(mylink.mydec,round_inf)在所有这些示例中,目标十进制的长度为 10,小数位为 2。6. DecimalToDFloat以 dfloat 表示形式返回给定的十进制数。参数“fix_zero指定所有零十进制值均视为有效缺省情况下,全部由零组成的十进制数将视为无效可选。 输入:decimal (decimal) ,fix_zero 输出:result (dfloat) 示
17、例。如果 mylink.mydec 列包含十进制数 00000004.00,那么以下函数将返回 dfloat 数 4.E+00。DecimalToDFloat(mylink.mydec,fix_zero)如果 mylink.mydec 列包含十进制数 00012344.00,那么以下函数将返回 dfloat 数 1.E+04。DecimalToDFloat(mylink.mydec,fix_zero)如果 mylink.mydec 列包含十进制数 00012344.120,那么以下函数将返回 dfloat 数 1.E+04。DecimalToDFloat(mylink.mydec,fix_ze
18、ro)如果 mylink.mydec 列包含十进制数 00012344.120,那么以下函数将返回 dfloat 数 1.E+04。DecimalToDFloat(mylink.mydec)如果 mylink.mydec 列包含十进制数 00012344.000,那么以下函数将返回 dfloat 数 1.E+04。DecimalToDFloat(mylink.mydec)7. DecimalToString将给定的十进制数返回为字符串。参数“fix_zero指定所有零十进制值均视为有效缺省情况下,全部由零组成的十进制数将视为无效可选。这包括压缩十进制表示的符号位都为 0 以与都为容数字的情况。
19、该特性只在“fix_zero为 true 时才视为有效。 输入:decimal (decimal) ,fix_zero 输出:result (string) 示例。如果 mylink.mydec 列包含十进制数 00000004.00,那么以下函数将返回字符串“4:DecimalToString(mylink.mydec,suppress_zero)如果 mylink.mydec 列包含十进制数 00000004.00,那么以下函数将返回字符串“.0000000000。DecimalToString(mylink.mydec,fix_zero)如果 mylink.mydec 列包含十进制数 0
20、0012344.00。那么以下函数将返回字符串“12344。DecimalToString(mylink.mydec,suppress_zero)如果 mylink.mydec 列包含十进制数 00012344.00,那么以下函数将返回字符串“.0000000000。DecimalToString(mylink.mydec,fix_zero)如果 mylink.mydec 列包含十进制数 00012344.120,那么以下函数将返回字符串“.1200000000。DecimalToString(mylink.mydec,fix_zero)如果 mylink.mydec 列包含十进制数 0001
21、2344.120,那么以下函数将返回字符串“12344.12:DecimalToString(mylink.mydec,suppress_zero)如果 mylink.mydec 列包含十进制数 00012344.120,那么以下函数将返回字符串“.120000000。DecimalToString(mylink.mydec)如果 mylink.mydec 列包含十进制数 00012344.000,那么以下函数将返回字符串“.0000000000。DecimalToString(mylink.mydec)8. DecimalToTime将给定的压缩十进制数返回为时间。您可以指定格式字符串来指定
22、如何以十进制数形式存储时间可选。缺省格式字符串为“%hh%nn%ss,因此,时间 14:03:22 将存储为十进制数 140322。格式字符串只能指定包含数字的格式。例如,不能指定诸如“%hh:%nn:%ss之类的格式字符串,这是因为压缩十进制值中不能存储冒号 (:)。以下标记对于与十进制值之间的转换有效: %hh使用 24 小时制的以两位数表示的小时数%nn两位数表示的分钟数%ss两位数表示的秒数%ss.N由两位数表示的秒数加上所允许的小数位数。小数位数从 1 到 6,包括 1 和 6。字面值数字 0 到 9 都有效。如果指定的格式包含微秒例如,%ss.4,那么将在十进制值中推断小数点的位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DataStage 常用 函数 大全

限制150内