Passing SAS Functions to DB2 under z/OS

SAS/ACCESS Interface to DB2 under z/OS passes the following SAS functions to DB2 for processing if the DBMS driver or client that you are using supports this function. Where the DB2 function name differs from the SAS function name, the DB2 name appears in parentheses. For more information, see Passing Functions to the DBMS Using PROC SQL.

ABS MOD (see note)
ARCOS (ACOS) MONTH
ARSIN (ASIN) QTR (QUARTER)
ATAN RIGHT (RTRIM)
ATAN2 SECOND
AVG SIGN
CEIL SIN
COS SINH
COSH SQRT
COUNT (COUNTBIG) STD (STDDEV)
DAY STRIP
EXP SUBSTR
FLOOR SUM
HOUR TAN
INDEX (LOCATE) TANH
LEFT (LTRIM) TRANWRD (REPLACE)
LOWCASE (LCASE) TRIMN (RTRIM)
LOG TRUNC
LOG10 UPCASE (UCASE)
MAX VAR (VARIANCE)
MIN WEEKDAY (DAYOFWEEK)
MINUTE YEAR
Note: SAS does not modify non-integer arguments to the MOD function. If your DBMS does truncate non-integer arguments to MOD, then DBMS results for this function might vary from SAS results. For more information, see Functions Where Results Might Vary: MOD Function.

SQL_FUNCTIONS=ALL allows for SAS functions that have slightly different behavior from corresponding database functions that are passed down to the database. Only when SQL_FUNCTIONS=ALL can the SAS/ACCESS engine also pass these SAS SQL functions to DB2. Due to incompatibility in date and time functions between DB2 and SAS, DB2 might not process them correctly. Check your results to determine whether these functions are working as expected.

DATEPART (DATE) TIMEPART (TIME)
LENGTH TODAY (CURRENT DATE)
REPEAT TRANSLATE

The following functions are passed to the DBMS. They are not passed to the DBMS when you connect using DRDA.

YEAR
MONTH
DAY
Last updated: February 3, 2026