Skip to main content

 

Check out how to read this article by clicking the “Show content” link.

I have a SQL function in mind. Can I use it in my USoft application?
Find the function in the alphabetic list. Look in the column for your database platform. If there is a dash in that cell, or if the function is not in the list at all, then the function is not supported.

Otherwise, have a look also in the USoft column (the second column from the left):

  • If the same name is listed for USoft as for your database platform, USoft can handle the function itself, at Rules Engine level.
  • If a different name is listed for USoft than for your database platform, you should use the name listed for USoft. USoft will automatically convert the function to the function known by the database platform.
  • If there is a dash in the USoft column, then the function is RDBMS-specific. USoft will automatically send the expression to the RDBMS for evaluation. You can use the function in your USoft application, but it will not port to platforms that do not support the function.

There may be special details or restrictions. Consult your RDBMS documentation. In some places, function names are hyperlinked to additional information supplied by USoft.

To get more detail on how USoft converts a function, and whether or not it is sent to the RDBMS for evaluation, run a profile in USoft Benchmark.

Special cases
The table refers to ROWNUM, SYSDATE and USER even though these are technically pseudo-columns rather than functions. Pseudo-columns are like function calls without arguments. They are different from functions in that the call syntax does not use empty parentheses.
The table refers to TOP and RECORDS even though these are technically in-line operators and not functions. Rather than taking their input from arguments passed between parentheses, TOP and RECORDS operate on a query result, in a way similar to DISTINCT, GROUP BY, or ORDER BY.

Name USoft Oracle SQLServer ODBC JDBCY, Derby
IFNULL IFNULL NVL ISNULL IFNULL COALESCE
  NVL NVL ISNULL IFNULL COALESCE
INDEX_COL - - INDEX_COL - -
INITCAP - INITCAP - - -
INSERT - - - INSERT -
INSTR CHARINDEX INSTR CHARINDEX LOCATE INSTR
  INSTR INSTR CHARINDEX LOCATE INSTR
INSTRB - INSTRB - - INSTRB
ISINTEGER ISINTEGER ISINTEGER ISINTEGER ISINTEGER ISINTEGER
ISNULL IFNULL NVL ISNULL IFNULL COALESCE
  NVL NVL ISNULL IFNULL COALESCE
ISNUMERIC ISNUMERIC ISNUMERIC ISNUMERIC ISNUMERIC ISNUMERIC
Name USoft Oracle SQLServer ODBC JDBCY, Derby
LAST_DAY - LAST_DAY - - LAST_DAY
LCASE LOWER LOWER LOWER LCASE LOWER
LEAST - LEAST - - -
LEFT - - LEFT LEFT -
LEN LENGTH LENGTH LEN LENGTH LENGTH
LENGTH LENGTH LENGTH LEN LENGTH LENGTH
LENGTHB - LENGTHB - - LENGTHB
LN LOG LN LOG LOG LN
LOCATE LOCATE CHARINDEX INSTR LOCATE LOCATE
  INSTR INSTR INSTR CHARINDEX LOCATE
Name USoft Oracle SQLServer ODBC JDBCY, Derby
LOG LOG LN LOG LOG LN
LOG10 - - LOG10 LOG10 LOG10
LOWER LOWER LOWER LOWER LCASE LOWER
LPAD - LPAD - - LPAD
LTRIM LTRIM LTRIM LTRIM LTRIM LTRIM
MAX MAX MAX MAX MAX MAX
MIN MIN MIN MIN MIN MIN
MINUTE - - - MINUTE -
MOD MOD MOD MOD MOD MOD
MONTH - - - MONTH MONTH
MONTHNAME - - - MONTHNAME -
MONTHS_
BETWEEN
- MONTHS_
BETWEEN
- - MONTHS_
BETWEEN
Be the first to reply!

Reply