Supported functions in SQL

Database native SQL does not provide equivalent functionality for all the functions that you can use in job designs.

The following table lists functions that can be used in a Transformer stage and states whether they can be reproduced in SQL.

If you use any of these unsupported functions in any expression in a Transformer stage, then the processing contained in that Transformer stage cannot be pushed into target or source SQL. If you want to use these items in your job, segregate them into a separate Transformer stage which will not be pushed into a database source or target.
Table 1. Functions
Function Supported in Teradata SQL Supported in IBM® DB2® SQL Supported in Netezza Supported in Oracle SQL Comment
Abs(Number) Yes Yes Yes Yes  
Acos(Number) Yes Yes Yes Yes  
Alnum(String) No No Yes No no SQL equivalent
Alpha(String) No No Yes No no SQL equivalent
AsDouble(Number) Yes Yes Yes Yes  
AsFloat(Number) Yes Yes Yes Yes  
ASin(Number) Yes Yes Yes Yes  
AsInteger(Number) Yes Yes Yes Yes  
Atan(Number) Yes Yes Yes Yes  
BitAnd(Num1,Num2) No No Yes Yes  
BitCompress(String) No No No No no SQL equivalent
BitExpand(Number) No No No No no SQL equivalent
BitOr(Num1,Num2) No No Yes No  
Ceil(Number) Yes Yes Yes Yes  
Char(Number) Yes No Yes Yes  
CompactWhiteSpace(String) No No No No no SQL equivalent
Compare(String1,String2) Yes Yes Yes Yes  
Compare(String1,String2,"L") Yes Yes Yes Yes  
Compare(String1,String2,"R") No No No Yes  
CompareNoCase(String1,String2) Yes Yes Yes Yes  
CompareNum(String1,String2,
Length)
Yes Yes Yes Yes  
CompareNumNoCase(String1,String2,
Length)
Yes Yes Yes Yes  
Convert(FromList,ToList,String) No Yes Yes Yes no Teradata SQL equivalent
Cos(Number) Yes Yes Yes Yes  
Cosh(Number) Yes Yes Yes Yes  
Count(String1,String2) No No No No no SQL equivalent
CurrentDate() Yes Yes Yes Yes  
CurrentTime() Yes Yes Yes Yes  
CurrentTimeMS() Yes No No Yes  
CurrentTimestamp() Yes Yes Yes Yes  
CurrentTimestampMS() Yes Yes No Yes  
DateFromDaysSince(Days,Date) Yes Yes Yes Yes  
DateFromDaysSince(Days) No No Yes Yes  
DateFromJulianDay(JulianDayNumber) Yes Yes Yes Yes  
DateToString(Date) Yes Yes Yes Yes  
DateToString(Date,Format) Yes Yes Yes Yes DB2 formats limited to "%DD.%MM.%YYYY", "%MM-%DD-%YYYY", "%MM/%DD/%YYYY", "%YYYY-%MM-%DD"
DaysSinceFromDate(GivenDate,
SourceDate)
Yes Yes Yes Yes  
DCount(String,Delimiter) No No No No no SQL equivalent
DecimalToDecimal(Number) Yes No Yes Yes DB2 default rounding does not match DataStage® default rounding
DecimalToDecimal(Number,Rounding) Partial Partial Partial Partial for DB2, Rounding="trunc_zero" only. For Teradata, Netezza, and Oracle, Rounding="round_inf" only
DecimalToDFloat(Number) Yes Yes Yes Yes  
DecimalToDFloat(Number,"fix_zero") Yes Yes Yes Yes  
DecimalToString(Number) Yes Yes Yes Yes  
DecimalToString(Number,"fix_zero") Yes Yes Yes Yes  
DFloatToDecimal(Number) Yes No Yes Yes DB2 default rounding does not match DataStage default rounding
DFloatToDecimal(Number,Rounding) Partial Partial Partial Partial for DB2, Rounding="trunc_zero" only. For Teradata, Netezza, and Oracle, Rounding="round_inf" only
DFloatToStringNoExp(Number,scale) No No No No no SQL equivalent
Div(Number,Divisor) Yes Yes Yes Yes  
DownCase(String) Yes Yes Yes Yes  
DQuote(String) Yes Yes Yes Yes  
DSJobStartDate() No No No No no SQL equivalent
DSJobStartTime() No No No No no SQL equivalent
DSJobStartTimestamp() No No No No no SQL equivalent
ElementAt(Arg) No No No No no SQL equivalent
Exp(Number) Yes Yes Yes Yes  
Fabs(Number) Yes Yes Yes Yes  
Field(String,Delimiter,Occurrence) Partial Partial Yes Yes supported only for Occurrence=1
Field(String,Delimiter,Occurrence, Number) Partial Partial No Partial supported only for Occurrence=1 and Number=1
Floor(Number) Yes Yes Yes Yes  
GetEnvironment(EnvVar) No No No No no SQL equivalent
HoursFromTime(Time) Yes Yes Yes Yes  
Index(String1,String2,Number) Partial Partial Yes Yes For Teradata and DB2 supported only for Number=1
IsNotNull(Arg) Yes Yes Yes Yes  
IsNull(Arg) Yes Yes Yes Yes  
isValid(Type,Arg) Partial No No No for Teradata, the following Type arguments are supported: "date", "dfloat", "int16", "int32", "int64", "int8", "raw", "sfloat", "string", "time", "uint16", "uint32", "uint64", "unit8", "timestamp"
JulianDayFromDate(Date) Yes Yes Yes Yes  
Ldexp(Mantissa,Exponent) No No No No no SQL equivalent
Left(String,Length) Yes Yes Yes Yes  
Len(String) Yes Yes Yes Yes  
Llabs(Number) No Yes Yes Yes no Teradata SQL equivalent
Ln(Number) Yes Yes Yes Yes  
Log10(Number) Yes Yes Yes Yes  
MantissaFromDecimal(Number) No No No No no SQL equivalent
MantissaFromDFloat(Number) No No No No no SQL equivalent
Max(Num) Yes Yes No Yes  
Max(Num1,Num2) Yes Yes Yes Yes  
Mean(Num) Yes Yes No Yes  
Mean(Num1,Num2) Yes Yes No Yes  
MicrosecondsFromTime(Time) Yes No Yes Yes DB2 TIME type does not support microseconds
Min(Num) Yes Yes No Yes  
Min(Num1,Num2) Yes Yes Yes Yes  
MinutesFromTime(Time) Yes Yes Yes Yes  
Mod(Num1,Num2) Yes Yes Yes No  
MonthDayFromDate(Date) Yes Yes Yes Yes  
MonthFromDate(Date) Yes Yes Yes Yes  
Neg(Number) Yes Yes Yes Yes  
NextSKChain(Vector) No No No No no SQL equivalent
NextSurrogateKey() No No No No no SQL equivalent
NextWeekdayFromDate(Date,Weekday) No No Yes Yes  
NullToEmpty(Arg) Yes Yes Yes Yes  
NullToValue(Arg1,Arg2) Yes Yes Yes No  
NullToZero(Arg) Yes Yes Yes No  
Num(Arg) No No Yes No  
PadString(String,PadString) No No No No no SQL equivalent
PadString(String,PadString,Length) No Yes Yes Yes no Teradata SQL equivalent
PreviousWeekdayFromDate(Date,
Weekday)
No No Yes Yes  
PrevSKChain(Vector) No No No No no SQL equivalent
Pwr(Num1,Num2) Yes Yes Yes Yes  
Rand() No No No Yes produces unsigned 32-bit values; SQL INTEGER is signed 32-bit
Random() No No No Yes produces unsigned 32-bit values; SQL INTEGER is signed 32-bit
RawLength(Raw) Yes Yes Yes Yes  
Right(String,Length) Yes Yes Yes Yes  
SecondsFromTime(Time) Yes Yes Yes Yes  
SecondsSinceFromTimestamp (Timestamp1,Timestamp2) No Yes Yes No No Teradata or Oracle SQL equivalent
SetBit(Number) No No No No no SQL equivalent
SetNull() Yes Yes Yes Yes  
Seq(Character) No Yes Yes Yes  
Sin(Number) Yes Yes Yes Yes  
Sinh(Number) Yes Yes Yes Yes  
Soundex(String) Yes Yes No Yes  
Space(Number) Partial Yes Yes Yes For Teradata, limited to N <= 254
Sqrt(Number) Yes Yes Yes Yes  
SQuote(String) Yes Yes Yes Yes  
Str(String,RepeatCount) Partial Yes Yes Yes For Teradata, RepeatCount <= 5
StringToDate(String) Yes Yes Yes Yes  
StringToDate(String,Format) Yes Partial Yes Yes For DB2, Format limited to "%MM/%DD/%YYYY"
StringToDecimal(String) Yes No Yes Yes  
StringToDecimal(String,Format) Partial Partial Partial Partial For DB2, Format can only be “trunc_zero”; for Teradata, Netezza, and Oracle, Format can only be “round_inf”
StringToRaw(String) Yes No No Yes  
StringToTime(String) Yes Yes Yes Yes  
StringToTime(String,Format) Yes Partial Yes No For DB2, Format limited to "%HH:%NN:%SS"
StringToTimestamp(String) Yes Yes Yes Yes  
StringToTimestamp(String,Format) Yes Partial Yes Yes For DB2, Format limited to "%YYYY-%MM-%DD %HH-%NN-%SS"
StringToUstring(String) No No No No no SQL equivalent
StringToUstring(String,map_name) No No No No no SQL equivalent
StripWhiteSpace(String) No No No Yes  
Substring(String,SubString,Length) Yes Yes Yes Yes  
Tan(Number) Yes Yes Yes Yes  
Tanh(Number) Yes Yes Yes Yes  
TimeDate() Yes Yes Yes Yes  
TimeFromMidnightSeconds(Seconds) Yes Yes Yes Yes  
TimestampFromDateTime(Date,Time) Yes Yes Yes Yes  
TimestampFromSecondsSince(Seconds) Yes Yes Yes Yes  
TimestampFromSecondsSince(Seconds,
Timestamp)
Yes Yes Yes Yes  
TimestampFromTimet(Time_t) No No No No no SQL equivalent
TimestampToDate(Timestamp) Yes Yes Yes Yes  
TimestampToString(Timestamp) Yes Yes Yes Yes  
TimestampToString(Timestamp,Format) Yes Partial Partial Yes For DB2, Format limited to "%YYYY-%MM-%DD %HH:%NN:%SS". For Netezza, Format does not include microseconds
TimestampToTime(Timestamp) Yes Yes Yes Yes  
TimetFromTimestamp(Timestamp) No No No No no SQL equivalent
TimeToString(Time) Yes Yes Yes Yes  
TimeToString(Time,Format) Yes Partial Yes Yes For DB2, Format limited to "%HH:%NN:%SS"
Trim(String) No No No No No SQL equivalent for compressing internal white space
Trim(String,Option) Partial Partial Partial Partial Option = 'E' or 'F' only.
Trim(String,StripChar,Option) Partial Partial Partial Partial Option = 'B', 'L' or 'T' only
TrimB(String) Yes Yes Yes Yes  
TrimF(String) Yes Yes Yes Yes  
TrimLeadingTrailing(String) Yes Yes Yes Yes  
Upcase(String) Yes Yes Yes Yes  
UstringToString(UnicodeString) No No No No no SQL equivalent
UstringToString(UnicodeString,
MapName)
No No No No no SQL equivalent
WeekdayFromDate(Date) No Yes Yes Yes No Teradata SQL equivalent
YeardayFromDate(Date) Yes Yes Yes Yes  
YearFromDate(Date) Yes Yes Yes Yes  
YearweekFromDate(Date) No Yes Yes Yes No Teradata SQL equivalent