SQL Functions
SQL Functions
SQL functions are implemented in the CData Connect Cloud query API. As a result, these functions are available across all data sources with the same consistent API. Three categories of functions are available: string, date, and math.
The API interprets all SQL function inputs as either strings or column identifiers. All literals must be escaped as strings with single quotes. For example, contrast the SQL Server syntax and provider syntax for the DATENAME function:
- SQL Server:
SELECT DATENAME(yy,GETDATE())
- CData Connect Cloud:
SELECT DATENAME('yy',GETDATE())
STRING Functions
String functions perform string manipulations and return a string value. See STRING Functions for more details.
SELECT CONCAT(firstname, space(4), lastname) FROM Account WHERE Industry = 'Floppy Disks'
DATE Functions
These functions perform date and date time manipulations. See DATE Functions for more details.
SELECT CURRENT_TIMESTAMP() FROM Account
Math Functions
These functions provide mathematical operations. See MATH Functions for more details.
SELECT RAND() FROM Account
Aggregate Functions
Aggregate functions return data from across multiple rows. See Aggregate Functions for more details.
SELECT MIN(AnnualRevenue), Name FROM Account WHERE Industry = 'Floppy Disks' GROUP BY Name
Window Functions
Window functions allow you to create computed fields from a group of rows (a window) that return a result for each row, as opposed to one computed result for a set of rows, as is the case with aggregate functions.
SELECT Name, Role, Earnings, COUNT() OVER (PARTITION BY Role) FROM Employees
Table-Valued Functions
Table-valued functions are functions that return a table (rowset).
SELECT A.ID, X.name FROM [TableWithXMLField] A CROSS APPLY XMLTABLE(A.XMLContent,'//*/item') WITH (name VARCHAR(255)) AS X
Function Parameters and Nesting SQL Functions
The provider 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 Account