DataStage常用函数大全.docx

上传人:b****6 文档编号:3282581 上传时间:2022-11-21 格式:DOCX 页数:43 大小:34.38KB
下载 相关 举报
DataStage常用函数大全.docx_第1页
第1页 / 共43页
DataStage常用函数大全.docx_第2页
第2页 / 共43页
DataStage常用函数大全.docx_第3页
第3页 / 共43页
DataStage常用函数大全.docx_第4页
第4页 / 共43页
DataStage常用函数大全.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

DataStage常用函数大全.docx

《DataStage常用函数大全.docx》由会员分享,可在线阅读,更多相关《DataStage常用函数大全.docx(43页珍藏版)》请在冰豆网上搜索。

DataStage常用函数大全.docx

DataStage常用函数大全

DataStage常用函数大全

DataStage常用函数大全1

一、类型转换函数4

1.Char4

2.DateToString4

3.DateToDecimal4

4.DecimalToDate5

5.DecimalToDecimal6

6.DecimalToDFloat6

7.DecimalToString7

8.DecimalToTime8

9.DecimalToTimestamp8

10.DFloatToDecimal9

11.DfloatToStringNoExp10

12.IsValidDate10

13.IsValidTime11

14.IsValidTimestamp11

15.RawNumAt11

16.RawToString12

17.Seq12

18.SeqAt12

19.StringToDate12

20.StringToDecimal13

21.StringToRaw13

22.StringToTime13

23.StringToTimestamp14

24.StringToUstring14

25.TimestampToDate14

26.TimestampToDecimal14

27.TimestampToString15

28.TimestampToTime16

29.TimeToString16

30.TimeToDecimal16

31.UstringToString17

二、字符串函数17

32.AlNum17

33.Alpha17

34.CompactWhiteSpace18

35.Compare18

36.CompareNoCase18

37.CompareNum18

38.CompareNumNoCase19

39.Convert19

40.Count19

41.Dcount19

42.DownCase20

43.DQuote20

44.Field20

45.Index20

46.Left21

47.Len21

48.Num21

49.PadString21

50.Right21

51.Soundex22

52.Space22

53.SQuote22

54.Str22

55.StripWhiteSpace23

56.Trim23

57.TrimB24

58.TrimF24

59.TrimLeadingTrailing24

60.UpCase24

三、数字函数25

61.AsDouble25

62.AsFloat25

63.AsInteger25

64.MantissaFromDecimal26

65.MantissaFromDFloat26

四、日期和时间函数26

66.CurrentDate26

67.CurrentTime27

68.CurrentTimeMS27

69.CurrentTimestamp27

70.CurrentTimestampMS27

71.DateFromDaysSince27

72.DateFromComponents28

73.DateFromJulianDay28

74.DateOffsetByComponents28

75.DaysSinceFromDate29

76.DaysInMonth29

77.DaysInYear29

78.DateOffsetByDays30

79.HoursFromTime30

80.JulianDayFromDate30

81.MicroSecondsFromTime30

82.MidnightSecondsFromTime31

83.MinutesFromTime31

84.MonthDayFromDate31

85.MonthFromDate31

86.NextWeekdayFromDate32

87.NthWeekdayFromDate32

88.PreviousWeekdayFromDate32

89.SecondsFromTime32

90.SecondsSinceFromTimestamp33

91.TimeDate33

92.TimeFromComponents33

93.TimeFromMidnightSeconds33

94.TimeOffsetByComponents34

95.TimeOffsetBySeconds34

96.TimestampFromDateTime34

97.TimestampFromSecondsSince34

98.TimestampFromTimet35

99.TimestampOffsetByComponents35

100.TimestampOffsetBySeconds35

101.TimetFromTimestamp36

102.WeekdayFromDate36

103.YeardayFromDate36

104.YearFromDate36

105.YearweekFromDate37

五、Null处理函数37

106.IsNotNull37

107.IsNull37

108.NullToEmpty38

109.NullToZero38

110.NullToValue38

111.SetNull38

一、类型转换函数

类型转换函数用于更改参数的类型。

以下函数位于表达式编辑器的“类型转换”类别中。

方括号表示参数是可选的。

缺省日期格式为%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)]

∙输出:

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.DateToDecimal

将给定的日期返回为压缩十进制值。

如果您的目标十进制数指定了小数位,那么部分日期会在小数点后显示。

您可以指定格式字符串来指定如何以十进制数形式存储日期(可选)。

缺省格式字符串为“%yyyy%mm%dd”,因此,日期2009-08-25将存储为十进制数20090825。

格式字符串只能指定包含数字的格式。

例如,不能指定诸如“%yyyy-%mm-%dd”之类的格式字符串,这是因为压缩十进制值中不能存储连字符(-)。

以下标记对于与十进制值之间的转换有效:

%yyyy(四位数表示的年份)

%yy(两位数表示的年份)

%NNNNyy(截断的两位数年份)

%mm(两位数表示的月份)

%dd(两位数表示的一月中的第几天)

%ddd(三位数表示的一年中的第几天)

字面值数字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:

DateToDecimal(mylink.basedate)

4.DecimalToDate

将给定的压缩十进制数返回为日期。

在将十进制数转换为日期时,会忽略其符号和小数位。

您可以指定格式字符串来指定如何以十进制数形式存储日期(可选)。

缺省格式字符串为“%yyyy%mm%dd”,因此,日期2009-08-25将存储为十进制数20090825。

格式字符串只能指定包含数字的格式。

例如,不能指定诸如“%yyyy-%mm-%dd”之类的格式字符串,这是因为压缩十进制值中不能存储连字符(-)。

以下标记对于与十进制值之间的转换有效:

%yyyy(四位数表示的年份)

%yy(两位数表示的年份)

%NNNNyy(截断的两位数年份)

%mm(两位数表示的月份)

%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.DecimalToDecimal

以具有目标列定义中指定精度和小数位的十进制表示形式返回给定的十进制数。

参数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。

不论符号如何,废弃位于目标数据支持的最右侧小数位右侧的任何小数位。

例如,如果目标数据是整数,那么截断所有小数位。

如果目标数据是另一个具有更少小数位的小数,那么按照目标小数的小数位数进行取整或截断。

例如,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")

以下函数将返回十进制数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)

∙示例。

如果mylink.mydec列包含十进制数00000004.00,那么以下函数将返回dfloat数4.00000000000000000E+00。

DecimalToDFloat(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.00,那么以下函数将返回dfloat数1.23440000000000000E+04。

DecimalToDFloat(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.120,那么以下函数将返回dfloat数1.23441200000000010E+04。

DecimalToDFloat(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.120,那么以下函数将返回dfloat数1.23441200000000010E+04。

DecimalToDFloat(mylink.mydec)

如果mylink.mydec列包含十进制数00012344.000,那么以下函数将返回dfloat数1.23440000000000000E+04。

DecimalToDFloat(mylink.mydec)

7.DecimalToString

将给定的十进制数返回为字符串。

参数“fix_zero”指定所有零十进制值均视为有效(缺省情况下,全部由零组成的十进制数将视为无效)(可选)。

这包括压缩十进制表示的符号位都为0以及都为内容数字的情况。

该特性只在“fix_zero”为true时才视为有效。

∙输入:

decimal(decimal)[,"fix_zero"]

∙输出:

result(string)

∙示例。

如果mylink.mydec列包含十进制数00000004.00,那么以下函数将返回字符串“4”:

DecimalToString(mylink.mydec,"suppress_zero")

如果mylink.mydec列包含十进制数00000004.00,那么以下函数将返回字符串“0000000000000000000000000004.0000000000”。

DecimalToString(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.00。

那么以下函数将返回字符串“12344”。

DecimalToString(mylink.mydec,"suppress_zero")

如果mylink.mydec列包含十进制数00012344.00,那么以下函数将返回字符串“0000000000000000000000012344.0000000000”。

DecimalToString(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.120,那么以下函数将返回字符串“0000000000000000000000012344.1200000000”。

DecimalToString(mylink.mydec,"fix_zero")

如果mylink.mydec列包含十进制数00012344.120,那么以下函数将返回字符串“12344.12”:

DecimalToString(mylink.mydec,"suppress_zero")

如果mylink.mydec列包含十进制数00012344.120,那么以下函数将返回字符串“0000000000000000000000012344.120000000”。

DecimalToString(mylink.mydec)

如果mylink.mydec列包含十进制数00012344.000,那么以下函数将返回字符串“0000000000000000000000012344.0000000000”。

DecimalToString(mylink.mydec)

8.DecimalToTime

将给定的压缩十进制数返回为时间。

您可以指定格式字符串来指定如何以十进制数形式存储时间(可选)。

缺省格式字符串为“%hh%nn%ss”,因此,时间14:

03:

22将存储为十进制数140322。

格式字符串只能指定包含数字的格式。

例如,不能指定诸如“%hh:

%nn:

%ss”之类的格式字符串,这是因为压缩十进制值中不能存储冒号(:

)。

以下标记对于与十进制值之间的转换有效:

%hh(使用24小时制的以两位数表示的小时数)

%nn(两位数表示的分钟数)

%ss(两位数表示的秒数)

%ss.N(由两位数表示的秒数加上所允许的小数位数。

小数位数从1到6,包括1和6)。

字面值数字0到9都有效。

如果指定的格式包含微秒(例如,%ss.4),那么将在十进制值中推断小数点的位置。

小数点的位置不必与指定的十进制小数位一致(例如,小数位=4)。

∙输入:

time(time)[,format(string)]

∙输出:

result(decimal)

∙示例:

如果mylink.mytimedec列包含十进制值200658,那么以下函数将返回时间20:

06:

58:

DecimalToTime(mylink.mytimedec)

如果mylink.mytimedec列包含十进制值580620,那么以下函数将返回时间20:

06:

58:

DecimalToTime(mylink.mytimedec,"%ss%nn%hh")

9.DecimalToTimestamp

将给定的压缩十进制数返回为时间戳记。

您可以指定格式字符串来指定如何以十进制数形式存储时间戳记(可选)。

缺省格式字符串为“%yyyy%mm%dd%hh%nn%ss”,因此,时间戳记2009-08-2514:

03:

22将存储为十进制数20090825140322。

格式字符串只能指定包含数字的格式。

例如,不能指定诸如“%yyyy/%mm/%dd%hh:

%nn:

%ss”之类的格式字符串,这是因为压缩十进制值中不能存储斜杠(/)和冒号(:

)。

以下标记对于与十进制值之间的转换有效:

%yyyy(四位数表示的年份)

%yy(两位数表示的年份)

%NNNNyy(截断的两位数年份)

%mm(两位数表示的月份)

%dd(两位数表示的一月中的第几天)

%ddd(三位数表示的一年中的第几天)

%hh(使用24小时制的以两位数表示的小时数)

%nn(两位数表示的分钟数)

%ss(两位数表示的秒数)

%ss.N(由两位数表示的秒数加上所允许的小数位数。

小数位数从1到6,包括1和6)。

字面值数字0到9都有效。

如果指定的格式包含微秒(例如,%ss.4),那么将在十进制值中推断小数点的位置。

小数点的位置不必与指定的十进制小数位一致(例如,小数位=4)。

∙输入:

timestamp(timestamp)[,format(string)]

∙输出:

result(decimal)

∙示例:

如果mylink.mytimestampdec列包含值19580818200658,那么以下函数将返回时间戳记1958–08–1820:

06:

58:

DecimalToTimestamp(mylink.mytimestampdec)

如果mylink.mytimestampdec列包含十进制值200658580818,那么以下函数将返回时间戳记1958–08–1820:

06:

58:

DecimalToTimestamp(mylink.mytimestampdec,"%hh%nn%ss%yy%mm%dd")

10.DFloatToDecimal

以十进制表示形式返回给定的dfloat。

参数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。

不论符号如何,废弃位于目标数据支持的最右侧小数位右侧的任何小数位。

例如,如果目标数据是整数,那么截断所有小数位。

如果目标数据是另一个具有更少小数位的小数,那么按照目标小数的小数位数进行取整或截断。

例如,1.6->1,-1.6->-1。

∙输入:

number(dfloat),[rtype(string)]

∙输出:

result(decimal)

∙示例。

如果mylink.myfloat列包含dfloat数2.534,那么以下函数将返回十进制数00000002.54。

DFloatToDecimal(mylink.mydec,"ceil")

如果mylink.myfloat列包含dfloat数2.534,那么以下函数将返回十进制数00000002.53。

DFloatToDecimal(mylink.mydec,"floor")

如果mylink.myfloat列包含dfloat数2.534,那么以下函数将返回十进制数00000002.53。

DFloatToDecimal(mylink.mydec,"trunc_zero")

如果mylink.myfloat列包含dfloat数2.534,那么以下函数将返回十进制数00000002.53。

DFloatToDecimal(mylink.mydec,"round_inf")

11.DfloatToStringNoExp

使用指定小数位,以无指数的字符串表示形式返回给定的dfloat。

∙输入:

number(dfloat),scale(string)

∙输出:

result(string)

∙示例。

如果mylink.myfloat列包含dfloat数2.534,那么以下函数将返回字符串00000002.50:

DfloatToS

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1