Download PDF
Download page General syntax and SQL functions available.
General syntax and SQL functions available
Table Transformer is powered by the AlaSQL library. Find the list of SQL functions available in the macro below.
Custom SQL query editor powered by AI
Use autocompletion for correct reference to column names and SQL functions:
- Start typing, for example, "T1." and choose the required column from the list. It helps to avoid typos
- Start typing any function name and pick what you need from the dropdown list of supported functions/keywords
The AI also enhances the SQL query editor and suggests variants of the possible queries while you are typing. The options change on the fly according to what you have already typed.
If the suggestion suits you, press Tab on your keyboard and the query will be inserted in the editor.
And if you use the Ctrl+F shortcut, the "Find and Replace" panel will be opened. It's handy when you copy/paste your queries and need to change only some parts.
General SQL syntax
Syntax type | Definition | Character(s) | Example |
---|---|---|---|
Table name | A title given to (a) table(s) placed inside Table Transformer in the order of placement | T* - for all the tables in the macro body, T1 - for the first table, T2 - for the second one, etc. | SELECT 'Column' FROM T* SELECT 'Column name' FROM T1 SELECT 'Column Name' FROM T2 |
Column name | The title of a column from the source table utilized in the SQL query Can be paired with Table name as a direct reference for a number of purposes: e.g. if column names in T1 and T2 match | ' ' - Single quotes, [ ] - Square brackets | 'Column name' [Column name] T1.'Same Column name' T2.'Same Column name' If a column name contains a s ingle quote as its part: e.g. D'column, type \ before it to avoid the single quote becoming syntax markup: e.g. 'D\'column', [D\'column] or T1.'D\'column' - in the SQL query |
String constant | Encloses some text between double quotes further utilized in the SQL query | " " - Double quotes | "Some constant" "Free text" |
Number constant | Encloses a number further utilized in the SQL query | No additional markup | 2077 |
Date constant | Encloses a date between double quotes further utilized in the SQL query | " " - Double quotes | "25.05.2022" |
Multi-line comments | The text included directly in the SQL query as clarification, new info, etc., but not displayed in the macro output | /* */ - Slash + Asterisk | /* Such comment is present directly in the SQL query but not included in the output */ |
Functions and keywords
Oops, it seems that you need to place a table or a macro generating a table within the Table Filter macro.
The table is being loaded. Please wait for a bit ...
DATA_MANIPULATING
LOGIC
LOOP
MATH
AGGREGATION
ORDERING
KEYWORD
MERGING
VARIABLES
STRING_OPERATORS
TIME
CONVERTING
SEARCHING
Function / Keyword | Type | Description |
---|---|---|
ABS | MATH | Returns the absolute (positive) value of a number |
ALL | LOGIC | Returns true if all of the subquery values meet the condition |
AND | LOGIC | Includes rows where all the conditions separated by AND are TRUE |
ANY | LOGIC | Returns true if any of the subquery values meet the condition |
ARRAY | DATA_MANIPULATING | Creates an array |
AS | DATA_MANIPULATING | Renames a column or table with an alias |
ASC | MATH ORDERING | Ascending sorting order |
AT | TIME | |
AVG | MATH AGGREGATION | Returns the average value of a group |
BEGIN | LOGIC LOOP | Starts code block for WHILE and IF statements |
BETWEEN | MATH | Selects values within a given range |
BY | AGGREGATION ORDERING | Used with ORDER BY, GROUP BY |
CASE | DATA_MANIPULATING LOGIC | Creates different outputs based on conditions (see an example) |
CAST | DATA_MANIPULATING CONVERTING | Converts a value (of any type) into a specified datatype |
CEIL | MATH | Gets the smallest integer which is greater than, or equal to, the specified numeric expression |
CHAR | STRING_OPERATORS | Returns the character with the specified integer Unicode |
CHECK | LOGIC | Limits the value that can be placed in a column |
COALESCE | LOGIC | Returns the first non-null value in a list (see an example) |
CONCAT | MERGING | Concatenates values (see an example) |
CONCAT_VIEW | MERGING | Concatenates values, preserving their original HTML format (see an example) |
CONCAT_VIEW_AGGR | MERGING AGGREGATION | Concatenates and aggregates values, preserving their original HTML format (see an example) |
CORRESPONDING | MERGING | Matches the columns in table-expressions by name and not by ordinal position |
COUNT | MATH AGGREGATION | Returns the number of rows that matches a specified criteria (see an example) |
CROSS | MERGING | One of the Join types. Returns all rows for all possible combinations of two tables |
CUBE | MATH AGGREGATION | Generates subtotals for all combinations of grouping columns specified in the GROUP BY clause |
CURRENT_TIMESTAMP | VARIABLES TIME | Returns the current timestamp of the operating system of the server on which the SQL Server Database runs |
DATE | DATA_MANIPULATING CONVERTING | A data type for storing a date (string like 'YYYYMMDD') |
DATE_ADD | MATH TIME | Adds time values (as intervals) to a date value |
DATE_SUB | MATH TIME | Subtracts a time/date interval from a date and then returns the date |
DATEADD | MATH TIME | Adds time values (as intervals) to a date value (see an example) |
DATEDIFF | MATH TIME | Returns the difference between two dates (see an example) |
DAY | DATA_MANIPULATING TIME CONVERTING | Returns the day of the month for a date |
DAYOFWEEK | DATA_MANIPULATING TIME | Returns the weekday index for a date |
DEFAULT | DATA_MANIPULATING LOGIC | Provides a default value for a column |
DESC | MATH ORDERING | Descending sorting order |
DISTINCT | LOGIC AGGREGATION | Selects only distinct (different) values (see an example) |
ELSE | LOGIC | Introduces another statement that is executed when the IF condition is not satisfied |
END | LOGIC | Completes code block for WHILE and IF statements |
ESCESCAPEAPE | LOGIC SEARCHING | Used with LIKE, escapes characters |
ESCAPEMARKUP | STRING_OPERATORS | Escapes special characters for wiki markup (see an example) |
EXCEPT | MERGING | Combine two SELECT statements and returns rows from the first SELECT statement that are not returned by the second SELECT statement |
EXISTS | LOGIC | Tests for the existence of any record in a subquery (see an example) |
EXP | MATH | Returns e raised to the power of the specified number |
FALSE | LOGIC | Logical false value |
FIRST | AGGREGATION | Returns the first value in the group |
FLOOR | MATH | Returns the largest integer value that is smaller than or equal to a number |
FORMATDATE | DATA_MANIPULATING TIME | Converts major date formats(accordingly parsed by the macro, e.g. 17 Mar 2024) to either specified in the Table Transformer settings date format or the one set in the optional argument: FORMATDATE(Your "Date"/'Column name here',"mm/dd/y" <- optional argument) = |
FORMATMARKDOWN | FORMATTING | Applies Markdown syntax to table cells (see an example) |
FORMATNUMBER | DATA_MANIPULATING FORMATTING | Format numbers (accordingly parsed by the macro, e.g. 14) to either the settings specified in the Table Transformer macro or those corresponding to the optional arguments set: FORMATNUMBER (Your "Number"/'Column name here', "decimal_separator"(e.g. "," or "."), "thousands_separator"(e.g. "," or "."), decimal_places (e.g. 2) <-three optional arguments used simultaneously) = FORMATNUMBER(1400, ",", ".", 2) → 1.400,00 (see an example) |
FORMATTIME | DATA_MANIPULATING TIME | Converts time to the specified in the Table Transformer macro settings time format to the calculated time: FORMATTIME (calculated_time) |
FORMATWIKI | FORMATTING | Applies Confluence Wiki Markup to table cells (see an example) |
FORMATWORKLOG | DATA_MANIPULATING TIME | Converts worklogs to the specified in the Table Transformer macro worklog settings: FORMATWORKLOG (calculated_worklog) (see an example) |
FROM | KEYWORD | Specifies which table to select or delete data from |
FULL | MERGING | FULL OUTER JOIN: returns all rows when there is a match in either left table or right table |
GETDATE | DATA_MANIPULATING TIME | Returns the current system date and time |
GREATEST | MATH AGGREGATION | Returns the greatest value of the list of arguments |
GROUP | AGGREGATION | Groups the result set (used with aggregate functions: COUNT, MAX, MIN, SUM, AVG) |
GROUPING | LOGIC AGGREGATION | Indicates whether the specified column in a GROUP BY Clause aggregated or not |
HAVING | LOGIC AGGREGATION | Used instead of WHERE with aggregate functions |
HOUR | DATA_MANIPULATING TIME | Returns the hour part of a datetime |
HTML_DECODE | STRING_OPERATORS | Converts the displayed string into HTML markup and extracts text content from it |
IF | LOGIC | Conditional statement |
IFNULL | LOGIC | Returns a specified value if the expression is NULL |
IIF | LOGIC | Accepts three arguments. It evaluates the first argument and returns the second argument if the first argument is true; otherwise, it returns the second argument |
IN | LOGIC | Allows you to specify multiple values in a WHERE clause |
INNER | MERGING | INNER JOIN: returns rows that have matching values in both tables |
INSERT | DATA_MANIPULATING | Inserts new records into a table (see an example) |
INSTR | STRING_OPERATORS | Returns the position of the first occurrence of a string in another string |
INTERSECT | MERGING | Intersects two SELECT results |
INTERVAL | TIME | Defines a date/time interval |
IS | LOGIC | |
ISNULL | LOGIC | Returns TRUE or FALSE depending on whether an expression is NULL |
JOIN | MERGING | Joins tables (see an example) |
LAST | DATA_MANIPULATING | Returns the last value of the selected column |
LCASE | STRING_OPERATORS | Converts a string to lower-case |
LEAST | MATH AGGREGATION | Returns the smallest value of the list of arguments |
LEFT | MERGING | LEFT JOIN: returns all rows from the left table, and the matching rows from the right table |
LENGTH | STRING_OPERATORS | Returns the length of a string (in bytes) |
LIKE | LOGIC SEARCHING | Searches for a specified pattern in a column |
LIMIT | SEARCHING | Limit the number of records from the result set |
LOG | MATH | Returns the natural logarithm |
MATCH_REGEXP | DATA_MANIPULATING LOGIC SEARCHING | Searches for a regular expression in the input string and allows to add flags (i.e. g (global), i (insensitive), etc.) to regular expressions: MATCH_REGEXP ('Column1',"[a-f]{6}","g") (see an example) |
MAX | MATH AGGREGATION | Takes the name of a column as an argument and returns the largest value in that column |
MEDIAN | MATH AGGREGATION | Returns the median value of a group (see an example) |
MID | STRING_OPERATORS | Extracts a substring from a string (starting at any position) |
MIN | MATH AGGREGATION | Takes the name of a column as an argument and returns the smallest value in that column |
MINUTE | DATA_MANIPULATING TIME | Returns the minute part of a datetime value |
MONTH | DATA_MANIPULATING TIME | Returns the month part of a date |
MULT | MATH AGGREGATION | Takes the name of a column as an argument and returns multiplying of all the values in that column |
NATURAL | MERGING | NATURAL JOIN: analyzes columns in two joined tables and makes a join by columns with similar names |
NOT | LOGIC | Includes rows where a condition is not TRUE |
NOW | VARIABLES | Returns current date and time |
NULL | LOGIC | A field with no value |
NULLIF | LOGIC | Compares two expressions and returns NULL if they are equal. Otherwise, the first expression is returned |
OF | LOGIC | Allows you to specify multiple values in a WHERE clause |
OFFSET | SEARCHING | Skips the first N rows in a result set before starting to return any rows |
ON | MERGING | |
OR | LOGIC | Includes rows where either condition is TRUE |
ORDER | ORDERING | Sorts the result set in ascending or descending order |
OUT | LOGIC | Opposite to IN |
OUTER | MERGING | OUTER JOIN: returns all rows when there is a match in either left table or right table |
PERCENT | SEARCHING | Indicates that the query returns N percentage of rows |
PIVOT | AGGREGATION | Converts data from row level to column level (see an example) |
POWER | MATH | Returns the value of a number raised to the power of another number |
QUART | MATH AGGREGATION | Returns the first quartile of a group |
QUART2 | MATH AGGREGATION | Returns the second quartile of a group |
QUART3 | MATH AGGREGATION | Returns the third quartile of a group |
RANDOM | VARIABLES | |
REGEXP_LIKE | LOGIC STRING_OPERATORS SEARCHING | Returns rows that match a regular expression pattern |
REGEXP_REPLACE | LOGIC STRING_OPERATORS SEARCHING | Returns a modified version of the source string where occurrences of the regular expression pattern found in the source string are replaced with the specified replacement string (see an example) |
REPLACE | STRING_OPERATORS | Replaces all occurrences of a substring within a string with a new substring |
REPLACE_VIEW | STRING_OPERATORS | Replaces all occurrences of a substring within a string with a new substring and preserves the original HTML format (see an example) |
RIGHT | MERGING | RIGHT JOIN: returns all rows from the right table, and the matching rows from the left table |
ROLLUP | MATH AGGREGATION | Creates subtotals and grand totals for a set of columns (GROUP BY ROLLUP) |
ROUND | MATH | Rounds a number to a specified number of decimal places |
ROWNUM | DATA_MANIPULATING | Adds row numbering to a table (see an example) |
SEARCH | DATA_MANIPULATING | Searches for a specified pattern (see an example) |
SECOND | DATA_MANIPULATING TIME | Return the seconds part of a datetime value |
SELECT | DATA_MANIPULATING | Selects data from a database |
SOME | LOGIC | Compares a value to each value in a list or results from a query and evaluates to TRUE if the result of an inner query contains at least one row |
SPLIT | DATA_MANIPULATING STRING_OPERATORS | Splits a string into an array of substrings using a separator (see an example) |
SPLIT_VIEW | DATA_MANIPULATING STRING_OPERATORS | Splits a string into an array of substrings using a separator and preserves the original HTML format (see an example) |
SQRT | MATH | Returns the square root of a number |
STDDEV | MATH AGGREGATION | Returns the population standard deviation of expression (see an example) |
STDEV | MATH AGGREGATION | Returns the sample standard deviation of expression (see an example) |
SUBDATE | MATH TIME | Subtracts a time/date interval from a date and then returns the date |
SUBSTR | STRING_OPERATORS | Extracts a substring from a string (starting at any position) |
SUBSTRING | STRING_OPERATORS | Allows to extract a substring from a string |
SUBSTRING_VIEW | STRING_OPERATORS | Allows to extract a substring from a string and preserves the original HTML format (see an example) |
SUM | MATH AGGREGATION | Takes the name of a column as an argument and returns the sum of all the values in that column (see an example) |
TEXT | STRING_OPERATORS | Formats the source data as string and returns it without additional formatting (see an example) |
THEN | LOGIC | A result expression in a search condition |
TIME | DATA_MANIPULATING TIME | Extracts the time part from a given time/datetime |
CONVERTING | Returns a datetime value based on a date or datetime value | |
TIMESTAMPDIFF | MATH TIME | Returns the difference between two dates |
TO | KEYWORD | |
STRING_OPERATORS | Removes the space character or other specified characters from the start or end of a string | |
TRUE | LOGIC | Logical true value |
UCASE | STRING_OPERATORS | Converts a string to upper-case |
UNION | MERGING | Combines the result set of two or more SELECT statements (only distinct values) |
UNPIVOT | AGGREGATION | Converts data from column level to row level, ungroups data (see an example) |
UPDATE | DATA_MANIPULATING | Modifies the existing records in a table (see an example) |
UPPER | STRING_OPERATORS | Converts a string to upper-case |
USING | LOGIC | Matches only one column when more than one column matches |
VAR | MATH AGGREGATION | Returns the statistical variance of all values in the specified expression (see an example) |
VAR_POP | AGGREGATION | Population variance. Returns 0 if all of the values in the data set have the same value (no variability). Returns 0 if the data set consists of only one value (no possible variability). Returns NULL if the data set has no values |
VAR_SAMP | AGGREGATION | Sample variance. Returns 0 if all of the values in the data set have the same value (no variability). Returns NULL if the data set consists of only one value (no possible variability). Returns NULL if the data set has no values |
VARCHAR | KEYWORD | Accepts character strings of a variable length is up to the maximum length specified in the data type declaration |
VARP | AGGREGATION | Returns the Variance for the population of the total number of records present in the specified column (see an example) |
WEEKDAY | DATA_MANIPULATING TIME | Returns the weekday number for a given date |
WHEN | LOGIC | A condition expression in a search condition |
WHERE | LOGIC SEARCHING | Filters a result set to include only records that fulfill a specified condition |
WHILE | LOOP | Sets a condition for the repeated execution of an SQL statement or statement block |
YEAR | DATA_MANIPULATING TIME | Returns an integer value which represents the year of the specified date |
Conversion types
- ::Date
- ::string
- ::number
For date conversion see also the FORMATDATE, FORMATTIME, FORMATWORKLOG functions.
JavaScript methods
After converting to date you can use JavaScript date functions, for example:
'Column with dates'::Date→toDateString()
Find an example here.
After converting to string you can use JavaScript string functions, for example:
'Column with strings'::string->split("The delimiter")->0
'Column with strings'::string→length
After converting to number you can use JavaScript number functions, for example:
'Column with numbers'::number→toFixed(1)
You need to convert only values with a different or indefinite type. In other cases, it's is not necessary:
'Column with numbers'->toFixed(1)
Example
The source table:
The result:
SQL query:
SELECT
T1.'String'->length AS 'Length',
T1.'String'->split("b")->0 AS 'Splitting',
T1.'Number'->toFixed(1) AS 'Rounding to tenth',
T1.'Date'::Date->getFullYear() AS 'Full year'
FROM T*