Friday 5 December 2014

Datastage STRING Functions


 Datastage STRING Functions
AlNum
Description:
Return whether the given string consists of alphanumeric characters
Syntax:
AlNum (%string%)
Example:
STRING RESULT
“ABC!@” non-alnum
“ABC123alnum
“ABCVF” alnum
“123@#$” non-alnum
“12345alnum
“!@#$$” non-alnum
Alpha
Description:
Returns 1 if string is purely alphabetic
Syntax:
Alpha (%string%)
Example:
STRING RESULT
“ABC!@” non-alpha
“ABC123non-alpha
“ABCVF” alpha
“123@#$” non-alpha
“12345non-alpha
“!@#$$” non-alpha
CompactWhiteSpace
Description:
Return the string after reducing all consecutive whitespace to a single space
Syntax:
CompactWhiteSpace(%string%)
Example:
CompactWhiteSpace(“I Love u “) = “I Love u”
Compare
Description:
Compares two strings for sorting
Syntax:
Compare (%string1%,%string2%,[%justification%])
string1, string2 are the strings to be compared.
Justification is either L for left-justified comparison or R for right -justified comparison
Default: L
OTHER than L or R causes a run-time warning 0 is returned.
The result of the comparison is returned as one of the following values:
-1 string1 is less than string2
0 string1 equals string2 or the justification expression is not valid
1 string1 is greater than string2
Example:
Compare(“data”,”data”,”L”) = 0
Compare(“data”,”data”,”R”) = 0
Compare(“100,”50,”L”) = -1
Compare(“100,”50,”R”) = 1
Compare(“100B”,”99A”,”L”) = -1
Compare(“100B”,”99A”,”R”) = 1
ComparNoCase
Description:
Case insensitive comparison of two strings
Syntax:
CompareNoCase(%string1%,%string2%)
Example:
CompareNumNoCase(“Ask”,”asked”,2) = 0
ComparNum
Description:
Compare the first n characters of the two strings
Syntax:
CompareNum(%string1%,%string2%,%length%)
Example:
CompareNum(“ask”,”asked”,2) = 0
CompareNum(“ask”,”asked”,4) = -1
CompareNumNoCase
Description:
Caseless comparison of the first n characters of the two strings
Syntax:
CompareNumNoCase(%string1%,%string2%,%length%)
Example:
CompareNumNoCase (“ask”,”Asked”,2) = 0
CompareNumNoCase (“ask”,”Asked”,4) = -1
Convert
Description:
Converts specified characters in a string to designated replacement characters
Syntax:
Convert(%fromlist%,%tolist%,%expression%)
Example:
Convert(“1234567890,” “,”Data12stage567)=Datastage
Convert(“ab”,”12,”ab3456)= 123456
Here a=1 and b=2 , All “a” replace by 1 and “b” replace by 2
Count
Description:
Count number of times a substring occurs in a string
Syntax:
Count(%string%,%substring%)
Example:
Count(“Datastage”,”a”) = 3
Dcount
Description:
Count number of delimited fields in a string.
Syntax:
DCount(%string%,%delimiter%)
Example:
DCount(“I_am_Data_stage_Developer”,”_”) = 5
Default Dcount is 1
Dcount(“Datastage”,”_”) = 1
DownCase
Description:
Change all uppercase letters in a string to lowercase.
Syntax:
DownCase(string)
Example:
String= “DATASTAGE”
DownCase(string)= “datastage”
DQuote
Description:
Enclose a string in double quotation marks,
Syntax:
DQuote(%string%)
Example:
DQuote(Data stage) = “Data stage”
Field
Description:
Return 1 or more delimited substrings
Syntax:
Field (string, delimiter, instance [ ,number] )
Example:
Field (“ETL_Data_stage_8,”_”, 2)
Returns : Data
Index
Description:
Find starting character position of substring
Syntax:
Index(%string%,%substring%,[%n%])
Example:
string = “these are the results”
Index (string,”re”,1) = 8
Index (string,”re”,2) = 15
If srting is a null value, 0 is returned
If subsrting is a null value, 0 is returned
If instance is a null value, it generates a run-time error.
Left
Description:
Leftmost n characters of string
Syntax:
Left(%string%,%length%)
Example:
string = “I Love you”
Left[1,6] = “I Love”
Len
Description:
Length of string in characters
Syntax:
Len(%string%)
Example:
Len(“I Love you”) = 10
Num
Description:
Return 1 if string can be converted to a number
Syntax:
Num(%string%)
Example:
NUM(“143.23) = 1 true
NUM(“abc123)= 0 false
NUM(“”)= 1 true (Empty string is numeric)
NUM(“ “)= 0 false (Space is not numeric)
PadString
Description:
Return the string padded with the optional pad character and optional length
Syntax:
PadString(%string%,%char%,%length%)
Example:
PadStr(“Data”,”x”,3) = “Dataxxx”
Right
Description:
Rightmost n characters of string
Syntax:
Right(%string%,%length%)
Example:
string = “I Love you”
Right[1,3] = “you”
Space
Description:
Return a string of N space characters.
Syntax:
Space(%length%)
Example:
Space(3) = ” ”
Squote
Description:
Enclose a string in single quotation marks
Syntax:
SQuote(%string%)
Example:
SQuote(Data stage) = „Data stage
Str
Description:
Repeat a string.
Syntax:
Str(%string%,%repeats%)
Example:
Arg: 1234567
Str(“0,10-Len(Arg)):Arg =0001234567
Arg: Str(“0,10-Len(Arg)) =1234567000
Trim
Description:
Remove all leading and trailing spaces and tabs plus reduce internal occurrences to one
Syntax:
Trim(%string%,[%stripchar%],[%option%])
Possible options for the Trim function are:
L Removes leading occurrences of character.
T Removes trailing occurrences of character.
B Removes leading and trailing occurrences of character.
R Removes leading and trailing occurrences of character, and reduces multiple occurrences to a single occurrence.
A Removes all occurrences of character.
F Removes leading spaces and tabs.
E Removes trailing spaces and tabs.
D Removes leading and trailing spaces and tabs, and reduces multiple spaces and tabs to single ones.
Example:
Trim(” String with whitespace “)
Returns “String with whitespace”
Trim(“..Remove..redundant..dots….”, “.”)
Returns “Remove.redundant.dots”
Trim(“Remove..all..dots….”, “.”, “A”)
Returns “Removealldots”
Trim(“Remove..trailing..dots….”, “.”, “T”)
Returns “Remove..trailing..dots”
TrimB
Description:
Remove all trailing spaces and tabs.
Syntax:
TrimB(%string%)
Example:
TrimB(” String with whitespace ”)
Returns: ” String with whitespace”
TrimF
Description:
Remove all leading spaces and tabs.
Syntax:
TrimF(%string%)
Example:
TrimF(” String with whitespace “)
Returns: ”String with whitespace ”
Trim Leading Trailing
Description:
Returns a string with leading and trailing whitespace removed.
Syntax:
Trim Leading Trailing(%string%)
Example:
Trim Leading Trailing(“ Trim leading Trailing “)
returns : “Trim leading Trailing“ Upcase
Description:
Change all lowercase letters in a string to uppercase.
Syntax:
UpCase(string)
Example:
String= ” datastage ”
UpCase(string)= “DATASTAGE”
FIELD function
Syntax
FIELD (string, delimiter, occurrence [ ,num.substr] )
Description
Use the FIELD function to return one or more substrings located between specified delimiters in string.
delimiter evaluates to any character, including field mark, value mark, and subvalue marks. It delimits the start and end of the substring. If delimiter evaluates to more than one character, only the first character is used. Delimiters are not returned with the substring.
occurrence specifies which occurrence of the delimiter is to be used as a terminator. If occurrence is less than 1, 1 is assumed.
num.substr specifies the number of delimited substrings to return. If the value of num.substr is an empty string or less than 1, 1 is assumed. When more than one substring is returned, delimiters are returned along with the successive substrings.
If either delimiter or occurrence is not in the string, an empty string is returned, unless occurrence specifies 1. If occurrence is 1 and delimiter is not found, the entire string is returned. If delimiter is an empty string, the entire string is returned.
If string evaluates to the null value, null is returned. If string contains CHAR(128) (that is, @NULL.STR), it is treated like any other character in a string. If delimiter, occurrence, or num.substr evaluate to the null value, the FIELD function fails and the program terminates with a run-time error message.
The FIELD function works identically to the GROUP function.
Examples
D=FIELD("###DHHH#KK","#",4)
PRINT "D= ",D
The variable D is set to DHHH because the data between the third and fourth occurrence of the delimiter # is DHHH.
REC="ACADABA"
E=FIELD(REC,"A",2)
PRINT "E= ",E
The variable E is set to "C".
VAR="?"
Z=FIELD("A.1234$$$$&&",VAR,3)
PRINT "Z= ",Z
Z is set to an empty string since "?" does not appear in the string.
Q=FIELD("+1+2+3ABAC","+",2,2)
PRINT "Q= ",Q
Q is set to "1+2" since two successive fields were specified to be returned after the second occurrence of "+".
This is the program output:
D= DHHH
E= C
Z=
Q= 1+2

No comments:

Post a Comment