Skip to main content

Function Helper

A huge part of OpenSql is managed using Function Helpers, so this part is very important for developers.

Expressions​

AS(
data, // string
columnName // string?
);

Example code:

AS(
'id',
'userId'
);

CAST​

CAST(
data, // number | string
type // string
);

Example code:

{
get: CAST('username','id')

}

COUNT​

COUNT(
column // string? | string[]?
);

Example code:

{
get: COUNT('username')

}

MAX​

MAX(
column // string
);

MIN​

MIN(
column // string
);

SUM​

SUM(
column // string
);

AVG​

AVG(
column // string
);

Where​

IN​

IN(
arr, // string[] | number[] | string&number[]
conjunction // Cnj?
);
NOT_IN(
arr, // string[] | number[] | string&number[]
conjunction // Cnj?
);

Example code:

{
where: {
id: IN([1, 5])
}
}

LIKE​

LIKE(
str, // string
conjunction // Cnj?
);
NOT_LIKE(
str, // string
conjunction // Cnj?
);

Example code:

{
where: {
title: LIKE('%simple')
}
}

BETWEEN​

BETWEEN(
first, // string | number
second, // string | number
conjunction // Cnj?
)
NOT_BETWEEN(
first, // string | number
second, // string | number
conjunction // Cnj?
)

Example code:

{
where: {
id: BETWEEN(1, 5)
}
}

jsonChecker​

jsonChecker(
key, // string
has // string
)

Example code:

{
where: {
id: jsonChecker('c', 'name')
}
}

Condition​

The Condition function is used along with the $having object

Condition(
leftStatement, // string
rightStatement, // string | number
comparisonOperator, // COP?
conjunction // Cnj?
);

Example code:

{
option: {
$having: [
Condition('COUNT(password)', 1234)
]
}
}

Date and Time​

NOW​

NOW();

DAY​

DAY(
date // string
);

Example code:

DAY('2017-06-15');

DAYOFWEEK​

DAYOFWEEK(
date // string
);

DAYOFYEAR​

DAYOFYEAR(
date // string
);

DAYOFMONTH​

DAYOFMONTH(
date // string
);

DAYNAME​

DAYNAME(
date // string
);

Example code:

DAYNAME('2017-06-15');

UTC_DATE​

UTC_DATE();

UTC_TIME​

UTC_TIME();

CURRENT_DATE​

CURRENT_DATE();

CURRENT_TIME​

CURRENT_TIME();

UTC_TIMESTAMP​

UTC_TIMESTAMP();

Others​

UUID​

UUID();

UUID_SHORT​

UUID_SHORT();

JOIN​

LEFT​

LEFT(
query // Query
);

INNER​

INNER(
query // Query
);

INNER​

INNER(
query // Query
);

FULL​

FULL(
query // Query
);

Example code:

{
from: 'books',
join: [
FULL({
from: 'users'
})
]
}

BLOB​

BLOB​

BLOB(
buf // Buffer
);

TINYBLOB​

TINYBLOB(
buf // Buffer
);

LONGBLOB​

LONGBLOB(
buf // Buffer
);

MEDIUMBLOB​

MEDIUMBLOB(
buf // Buffer
);

JSON​

Use when you want insert data in json data type.

JSON(
data // number[] | string[] | JSONObject | JSONObject[]
);

Example code:

{
data: JSON({
username: 'root'
})
}

UPPER​

UPPER(
string // string
);

Example code:

{
get: UPPER('username')

}

LOWER​

LOWER(
string // string
);

Example code:

{
get: LOWER('USERNAME')

}

ASCII​

ASCII(
char // string
);

Example code:

{
get: ASCII('A')

}

POINT​

POINT(
x, // number
y // number
);

Example code:

{
get: POINT(4.5, 5)

}

UNION​

UNION(
query // Query
);

UNION ALL​

UNION_ALL(
query // Query
);

Example code:

{
from: 'users',
union: [
UNION({
from: 'books'
})
]
}

qCheck​

qCheck(
value, // QCheckValueInObject | string | number
comparisonOperator, // COP?
conjunction // Cnj?
);

Example code:

{
where: {
id: qCheck(50, COP.DivEqual)
}
}

BINARY​

BINARY(
data // number
);

VARBINARY​

VARBINARY(
data // number
);

ATTACH​

ATTACH(
arr, // JSONObject | string[]
conjunction // Cnj?
);

Example code:

{
where: {
id: ATTACH([
IN([100, 105]),
qCheck(50, COP.DivEqual)
])
}
}

SOURCE​

SOURCE(
name, // string
typeName // string?
);

Example code:

{
get: SOURCE('username')
}

POLYGON​

POLYGON(
str // string
);

Example code:

{
data: {
p: POLYGON('0 0,10 0,10 10')
}
}

COMMENT​

COMMENT(
description // string
);

Example code:

{
column: {
id: DataType.INT([COMMENT('This is a simple test')])
}
}

REVERSE​

REVERSE(
string // string
);

DEFAULT​

DEFAULT(
value // string | number | boolean
);

Example code:

{
column: {
phoneNumber: DataType.INT([DEFAULT('NULL')])
}
}

XML​

XML(
data // string
);

Example code:

{
data: {
id: XML('<h1>Hello World!<h1>')
}
}

UNQUOTE​

UNQUOTE(
extract // string
);

Example code:

{
get: UNQUOTE("c->'$.name'")
}

CONTAINS​

CONTAINS(
target, // string | JSONObject
candidate, // string | JSONObject
path // string?
);

Example code:

{
get: CONTAINS('{"d": 4}', '1', '$.a')
}

EXTRACT​

EXTRACT(
data, // JSONObject | number[] | string
...path // string[]
);

Example code:

{
get: EXTRACT([1, 2, 3, 4, 5], '$[last-3 to last-1]')
}

CONCAT_WS​

CONCAT_WS(
str, // string
arr, // string[]
column // string
);

Example code:

{
get: CONCAT_WS(' ', ['A', 'B'], 'ConcatenatedString')
}

QueryPoint​

QueryPoint(
field // string
);

Example code:

{
get: QueryPoint('location')
}

LINESTRING​

LINESTRING(
str // string | string[]
);

Example code:

{
get: LINESTRING([Point(0,0), Point(1,1)])
}

CHAR_LENGTH​

CHAR_LENGTH(
data // string | number
);

Example code:

{
get: CHAR_LENGTH(125)
}

CURRENT_USER​

CURRENT_USER();

ST_GeomFromText​

ST_GeomFromText(
string // string
);