Function and Operator Keywords¶
This page provides a comprehensive mapping between SQL keywords and their corresponding methods in ts-sql-query
. It helps identify which SQL functions, operators, and expressions are supported, and how to express them fluently in TypeScript using the library’s API.
SQL Keyword | ts-sql-query Equivalent | Notes | Link |
---|---|---|---|
value + x (Addition) | value .add(x) |
Arithmetic addition | Value expressions API |
value - x (Subtraction) | value .substract(x) |
Arithmetic subtraction | Value expressions API |
value * x (Multiplication) | value .multiply(x) |
Arithmetic multiplication | Value expressions API |
value / x (Division) | value .divide(x) |
Arithmetic division | Value expressions API |
value % x (Modulo) | value .modulo(x) |
Modulo operation | Value expressions API |
value || x (String concatenation) | value .concat(x) |
String concatenation | Value expressions API |
value < x | value .lessThan(...) |
Strictly less than | Value expressions API |
value > x | value .greaterThan(...) |
Strictly greater than | Value expressions API |
value <= x | value .lessOrEquals(...) |
Less than or equal | Value expressions API |
value >= x | value .greaterOrEquals(...) |
Greater than or equal | Value expressions API |
value BETWEEN a AND b | value .between(a, b) |
Inclusive range check | Value expressions API |
value NOT BETWEEN a AND b | value .notBetween(a, b) |
Range exclusion | Value expressions API |
value = x (Equals) | value .equals(value) |
Equality operator | Value expressions API |
value <> x (Not equals) | value .notEquals(value) |
Inequality operator | Value expressions API |
value != x (Not equals) | value .notEquals(value) |
Inequality operator | Value expressions API |
value AND x | value .and(x) |
Logical AND | Value expressions API |
value OR x | value .or(x) |
Logical OR | Value expressions API |
value IS x | value .is(x) |
Safe equality for null comparisons | Value expressions API |
value IS NOT x | value .isNot(value) |
Safe inequality for null comparisons | Value expressions API |
value IN (...) | value .in([...]) |
Membership in a set | Value expressions API |
value NOT IN (...) | value .notIn([...]) |
Not in set | Value expressions API |
value IN (SELECT ...) | value .in(select) |
Membership in subquery result | Value expressions API |
value NOT IN (SELECT ...) | value .notIn(select) |
Not in subquery result | Value expressions API |
value IN (...) (variadic) | value .inN(...) |
Alternative to .in([...]) |
Value expressions API |
value NOT IN (...) (variadic) | value .notInN(...) |
Alternative to .notIn([...]) |
Value expressions API |
value IS NULL | value .isNull() |
Checks if value is NULL | Value expressions API |
value IS NOT NULL | value .isNotNull() |
Checks if value is NOT NULL | Value expressions API |
ABS(value) | value .abs() |
Absolute value | Value expressions API |
ACOS(value) | value .acos() |
Arc cosine | Value expressions API |
ASIN(value) | value .asin() |
Arc sine | Value expressions API |
ATAN(value) | value .atan() |
Arc tangent | Value expressions API |
ATAN2(y, x) | value .atan2(x) |
Arc tangent of y/x | Value expressions API |
ATN2(y, x) | value .atan2(x) |
Arc tangent of y/x | Value expressions API |
AVG(x) | connection .average(x) |
Aggregate: returns average | Connection API |
AVG(DISTINCT x) | connection .averageDistinct(x) |
Aggregate: returns distinct average | Connection API |
CASE ... WHEN ... THEN ... ELSE ... END | Not supported yet. Use a custom SQL fragment. | SQL conditional expression using CASE statement | SQL Fragment |
CBRT(value) | value .cbrt() |
Cube root | Value expressions API |
CEIL(value) | value .ceil() |
Round up | Value expressions API |
CEILING(value) | value .ceil() |
Round up | Value expressions API |
CHAR_LENGTH(value) | value .length() |
String length | Value expressions API |
COALESCE(value, x) | value .valueWhenNull(x) |
Fallback value if NULL (standard SQL) | Value expressions API |
CONCAT(value, x) | value .concat(x) |
String concatenation | Value expressions API |
COS(value) | value .cos() |
Cosine | Value expressions API |
COT(value) | value .cot() |
Cotangent | Value expressions API |
COUNT(*) | connection .countAll() |
Aggregate: count all rows | Connection API |
COUNT(x) | connection .count(x) |
Aggregate: count non-null rows | Connection API |
COUNT(DISTINCT x) | connection .countDistinct(x) |
Aggregate: count distinct values | Connection API |
CURRENT_DATE | connection .currentDate() |
Current date | Connection API |
CURRENT_TIME | connection .currentTime() |
Current time | Connection API |
CURRENT_TIMESTAMP | connection .currentDateTime() |
Current date and time | Connection API |
CURRENT_TIMESTAMP | connection .currentTimestamp() |
Same as .currentDateTime() |
Connection API |
CURRVAL(sequenceName) | connection .sequence(sequenceName).currentValue() |
Retrieves next value from a named sequence | Connection API |
DEFAULT | connection .default() |
Default column value | Connection API |
EXP(value) | value .exp() |
Exponential (e^x) | Value expressions API |
EXTRACT(DAY FROM value) | value .getDate() |
Extract day of month | Value expressions API |
EXTRACT(DOW FROM value) | value .getDay() |
Extract day of week (Sunday=0 like JavaScript) | Value expressions API |
EXTRACT(EPOCH FROM value) | value .getTime() |
Extract timestamp in epoch milliseconds | Value expressions API |
EXTRACT(HOUR FROM value) | value .getHours() |
Extract hour | Value expressions API |
EXTRACT(MINUTE FROM value) | value .getMinutes() |
Extract minute | Value expressions API |
EXTRACT(MILLISECOND FROM value) | value .getSeconds() |
Extract milliseconds | Value expressions API |
EXTRACT(MONTH FROM value) | value .getMonth() |
Extract month (0-based like JavaScript) | Value expressions API |
EXTRACT(SECOND FROM value) | value .getSeconds() |
Extract second | Value expressions API |
EXTRACT(YEAR FROM value) | value .getFullYear() |
Extract year | Value expressions API |
FLOOR(value) | value .floor() |
Round down | Value expressions API |
GETDATE() | connection .currentDateTime() |
Current date and time | Connection API |
GETDATE() | connection .currentTimestamp() |
Same as .currentDateTime() |
Connection API |
GREATEST(value, x) | value .minValue(x) |
Ensures the value is at least x by returning the greater of the two values. | Value expressions API |
CURRENT_TIMESTAMP | connection .currentTimestamp() |
Same as .currentDateTime() |
Connection API |
EXISTS(x) | connection .exists(x) |
Returns true if subquery returns any row | Connection API |
NOT EXISTS(x) | connection .notExists(x) |
Returns true if subquery returns no rows | Connection API |
FALSE | connection .false() |
SQL constant for false | Connection API |
GROUP_CONCAT(x, separator) | connection .stringConcat(x, separator) |
Aggregate string with separator | Connection API |
GROUP_CONCAT(DISTINCT x, separator) | connection .stringConcatDistinct(x, separator) |
Aggregate distinct string concat | Connection API |
IFNULL(value, x) | value .valueWhenNull(x) |
Fallback value if NULL (MySQL, SQLite variant) | Value expressions API |
ISNULL(value, x) | value .valueWhenNull(x) |
Fallback value if NULL (standard SQL) | Value expressions API |
LEAST(value, x) | value .maxValue(x) |
Ensures the value is at most x by returning the smaller of the two values. | Value expressions API |
LENGTH(value) | value .length() |
String length | Value expressions API |
LEN(value) | value .length() |
String length | Value expressions API |
LN(value) | value .ln() |
Natural log | Value expressions API |
LOG10(value) | value .log10() |
Base-10 log | Value expressions API |
LOG(base, value) | value .logn(x) |
Log base-n | Value expressions API |
LOWER(value) | value .toLowerCase() |
Lowercase string | Value expressions API |
LTRIM(value) | value .trimLeft() |
Remove leading spaces | Value expressions API |
MAX(x) | connection .max(x) |
Aggregate: returns max value | Connection API |
MIN(x) | connection .min(x) |
Aggregate: returns min value | Connection API |
MOD(value, x) | value .modulo(x) |
Modulo operation | Value expressions API |
NEXTVAL(sequenceName) | connection .sequence(sequenceName).nextValue() |
Retrieves next value from a sequence | Connection API |
NULLIF(value, x) | value .nullIfValue(x) |
Returns NULL if value equals x | Value expressions API |
NOT value | value .negate() |
Negation | Value expressions API |
PI() | connection .pi() |
Math constant π | Connection API |
POWER(value, x) | value .power(x) |
Exponentiation | Value expressions API |
RAND() | connection .random() |
Random number generator | Connection API |
RANDOM() | connection .random() |
Random number generator | Connection API |
REPLACE(value, x, y) | value .replaceAll(x, y) |
Replace all matching substrings | Value expressions API |
REVERSE(value) | value .reverse() |
Reverse string | Value expressions API |
ROUND(value) | value .round() |
Round nearest | Value expressions API |
ROUND(value, x) | value .roundn(x) |
Round with precision | Value expressions API |
RTRIM(value) | value .trimRight() |
Remove trailing spaces | Value expressions API |
SIGN(value) | value .sign() |
Sign of value | Value expressions API |
SIN(value) | value .sin() |
Sine | Value expressions API |
SQRT(value) | value .sqrt() |
Square root | Value expressions API |
STRING_AGG(x, separator) | connection .stringConcat(x, separator) |
Aggregate string with separator | Connection API |
STRING_AGG(DISTINCT x, separator) | connection .stringConcatDistinct(x, separator) |
Aggregate distinct string concat | Connection API |
SUBSTR(value, start, len) | value .substr(start, len) |
Substring by start and length | Value expressions API |
SUBSTRING(value FROM start FOR len) | value .substring(start, end) |
Substring with specific range (varies by DB) | Value expressions API |
SUM(x) | connection .sum(x) |
Aggregate: returns the sum of values | Connection API |
SUM(DISTINCT x) | connection .sumDistinct(x) |
Aggregate: returns the sum of distinct values | Connection API |
TAN(value) | value .tan() |
Tangent | Value expressions API |
TRIM(value) | value .trim() |
Remove leading and trailing spaces | Value expressions API |
TRUE | connection .true() |
SQL constant for true | Connection API |
UPPER(value) | value .toUpperCase() |
Uppercase string | Value expressions API |