The adapter provides functions that are similar to those that are available with most standard databases. These functions are implemented in the CData provider engine and thus are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.
The adapter interprets all SQL function inputs as either strings or column identifiers, so you need to escape all literals as strings, with single quotes. For example, contrast the SQL Server syntax and adapter syntax for the DATENAME function:
- SQL Server:
These functions perform string manipulations and return a string value. See STRING Functions for more details.
SELECT CONCAT(firstname, space(4), lastname) FROM [adventureworks].[Model].Customer WHERE Country = 'Australia'
These functions perform date and date time manipulations. See DATE Functions for more details.
SELECT CURRENT_TIMESTAMP() FROM [adventureworks].[Model].Customer
These functions provide mathematical operations. See MATH Functions for more details.
SELECT RAND() FROM [adventureworks].[Model].Customer
Function Parameters and Nesting SQL FunctionsThe adapter supports column names, constants, and results of other functions as parameters to functions. The following are all valid uses of SQL functions:
SELECT CONCAT('Mr.', SPACE(2), firstname, SPACE(4), lastname) FROM [adventureworks].[Model].Customer