DataStage Basic(1)

Basic操作符:
  数学运算符:+, -, *, /
  关系操作符:=, <, >, <=, =>
  逻辑操作符:And, Not, Or
  连接操作符: ":"  --"The employee's name is" : lname : "," : fname
  截取字符串:String类型有这个属性,直接在字符串后面加[],标明起始,即可截取字符串
                          字符数组,从第一个开始,而不是从"0"开始。"String[star, length]"
                          "APPL3245"[1,4] --> "APPL"
                          "APPL3245"[5,2] --> "32"
  IF操作符:
  方法I: variable = If condition Then expression Else expression
    If Column1 > 100 Then "A" Else "B"
 
  方法II:If condition Else statement
  If condition
  Else
    statements
  End
  方法III:If condition Then statement
  If condition
  Then
        statements
  End
 
  方法IV:If condition Then statements [Else statements]
  If condition
  Then statements
  End
  [Else statements
  End]
 
注释
  以REM * ! $* 开头的为注释

系统变量:
  1、@Date, @Time  -->  Jobs开始运行的日期和时间,年、月、日是从日期函数中获得的。
  2、@InRowNum, @OutRowNum  -->  导入的记录数量,导出的记录数量。
  3、@LogName  -->  登陆的用户名。
  4、@Null -->  返回空值。
  5、@True, @False  -->  返回布尔值。
        @True  = 1
        @False = 0
  6、@Who  -->  获得当前工程的名字。

使用Iconv和Oconv函数转换日期
  使用Iconv来将一个字符串的日期转换成为一个国际的数字,是天数。
  以1967年12月31日作为基础点,那一点在DataStage中是"0"。
  使用Oconv来将一个日期的天数,转换成为一个具有格式的字符串。
  使用"D"字的转换代码,使用日期格式来进行显示。
  "D4-MDY[2,2,4]":
    1、D 表示日期的转换代码。
    2、4 表示年份的位数。
    3、- 表示采用"-"分隔符。
    4、MDY 年月日的显示顺序。
    5、[2,2,4] 根据前面的显示顺序来显示年月份的位数。
    Iconv( "12-31-67", "D2-MDY[2,2,2]")  --> 0
    Iconv( "12311967", "D4 MDY[2,2,4]")  --> 0
    Iconv( "31-12-1967", "D-DMY[2,2,4]")  --> 0
    Oconv( 0, "D4-MDY[2,2,4]")  --> 12-31-1967
    Oconv( 0, "D2/DMY[2,2,2]")  --> 31/12/67
    Oconv( 10, "D/YDM[4,2,A10]")  --> 1967/10/January
    Oconv(Iconv( "12-31-67", "D2-MDY[2,2,2]"), "D/YDM[4,2,A10]")  --> 1967/31/December
   
    时间:
    X = Oconv(10000, "MT")  X = "02:46"
    X = Oconv(10000, "MTHS")  X = "02:46:40am"
    X = Oconv(10000, "MTH")  X = "02:46am"
    X = Oconv(10000, "MT.")  X = "02.46"
    X = Oconv(10000, "MTS")  X = "02:46:40"
    X = Oconv(time(), "MTS")  X = 当前系统时间
 
常见问题:
1.判断字符串是否为空
 
Len( trim(variable) ) = 0
  IsNull(variable)
 
 
2.对日期的处理
  Ereplace(DSLink30.PDATE,"-","")  将"-"分隔符的字符串日期中的"-"替换掉
  Date.tag(date())  系统日期以"-"分隔 2007-08-21
  Tomorrow = Oconv(Date() + 1, "D4/YMD")  "1997/5/24"
  DateCurrentDateTime(date())   2007-08-22 11:44:34.000 (DS Routine)
  DSJobStartDate  2007-08-22
  DSJobStartTime  11:48:58
  DSJobStartTimestamp  2007-08-22 11:48:58
  Ereplace(Date.tag(date()), "-", "") : Ereplace(Oconv(time(), "MTS"), ":", "")  20070822114434


你可能感兴趣的:(basic,iconv,Datastage,休闲)