sqlunify features

# Legend

OK
  implementend and works
PART
  only part of syntax is implemented
-
  not yet implemented
X
  impossible to implement / won't be implemented
?
  needs more real-life testing

# Versions

backend | postgresql | mysql | firebird | mssql
--- | --- | --- | --- | ---
version | 8.0.3 | 4.1.13 | ? | ?

# Syntax

syntax | postgresql | mysql | firebird | mssql
--- | --- | --- | --- | ---
SELECT | OK | OK | - | -
INSERT | OK | OK | - | -
DELETE | OK | OK | - | -
UPDATE | OK | OK | - | -
SUBQUERIES | - | - | - | -
UNION/DIFFRENCE SELECT | - | - | - | -
$$string$$ | - | - | - | -
JOIN | OK | OK | - | -
nested JOIN | OK | OK | - | -
comments | OK | OK | - | -

# Consts

const | postgresql | mysql | firebird | mssql
--- | --- | --- | --- | ---
TRUE | OK | OK | - | -
FALSE | OK | OK | - | -
UNKNOW | OK | OK | - | -

# Operators

operator | postgresql | mysql | firebird | mssql
--- | --- | --- | --- | ---
+ | OK | OK | - | -
- | OK | OK | - | -
* | OK | OK | - | -
/ | OK | OK | - | -
% | OK | OK | - | -
^ | OK | OK | - | -
|/ | OK | OK | - | -
|// | OK | OK | - | -
OR | OK | OK | - | -
AND | OK | OK | - | -
NOT | OK | OK | - | -
> | OK | OK | - | -
< | OK | OK | - | -
>= | OK | OK | - | -
<= | OK | OK | - | -
= | OK | OK | - | -
!= | OK | OK | - | -
<> | OK | OK | - | -
BETWEEN | OK | OK | - | -
NOT BETWEEN | OK | OK | - | -
IS NULL | OK | OK | - | -
IS NOT NULL | OK | OK | - | -
IS TRUE | OK | OK | - | -
IS FALSE | OK | OK | - | -
IS UNKNOW | OK | OK | - | -
IS DISTINCT FROM | OK | OK | - | -
! | OK | X | - | -
!! | OK | X | - | -
@ | OK | OK | - | -
& (bitwise and) | OK | OK | - | -
| (bitwise or) | OK | OK | - | -
# (bitwise xor) | OK | OK | - | -
~ (bitwise not) | OK | OK | - | -
<< (shift left) | OK | OK | - | -
>> (shift right) | OK | OK | - | -
|| | OK | OK | - | -
LIKE | OK | OK | - | -
NOT LIKE | OK | OK | - | -
ILIKE | OK | OK | - | -
NOT ILIKE | OK | OK | - | -
SIMILAR TO | OK | X | - | -
NOT SIMILAR TO | OK | X | - | -
~ | OK | X | - | -
~* | OK | X | - | -
!~ | OK | X | - | -
!~* | OK | X | - | -
Datetime
+ | OK | PART | - | -
- | OK | PART | - | -
OVERLAPS | OK | OK | - | -
AT TIME ZONE | OK | X | - | -

# Functions

function | postgresql | mysql | firebird | mssql
--- | --- | --- | --- | ---
abs | OK | OK | - | -
cbrt | OK | OK | - | -
ceil | OK | OK | - | -
ceiling | OK | OK | - | -
degrees | OK | OK | - | -
exp | OK | OK | - | -
floor | OK | OK | - | -
ln | OK | OK | - | -
log | OK | OK | - | -
mod | OK | OK | - | -
pi | OK | OK | - | -
power | OK | OK | - | -
radians | OK | OK | - | -
random | OK | OK | - | -
round | OK | OK | - | -
setseed | OK | X | - | -
sign | OK | OK | - | -
sqrt | OK | OK | - | -
trunc | OK | OK | - | -
width_bucket | OK | X | - | -
acos | OK | OK | - | -
asin | OK | OK | - | -
atan | OK | OK | - | -
atan2 | OK | OK | - | -
cos | OK | OK | - | -
cot | OK | OK | - | -
sin | OK | OK | - | -
tan | OK | OK | - | -
bit_length | OK | OK | - | -
char_length | OK | OK | - | -
character_length | OK | OK | - | -
convert | OK | X | - | -
lower | OK | OK | - | -
octet_length | OK | OK | - | -
overlay | OK | PART | - | -
position | OK | OK | - | -
substring | OK | PART | - | -
trim | OK | OK | - | -
upper | OK | OK | - | -
ascii | OK | OK | - | -
btrim | OK | X | - | -
chr | OK | OK | - | -
decode | OK | X | - | -
encode | OK | X | - | -
initcap | OK | X | - | -
length | OK | OK | - | -
lpad | OK | OK | - | -
ltrim | OK | PART | - | -
md5 | OK | OK | - | -
pg_client_encoding | OK | X | - | -
quote_ident | OK | X | - | -
quote_literal | OK | X | - | -
repeat | OK | OK | - | -
replace | OK | OK | - | -
rpad | OK | OK | - | -
rtrim | OK | PART | - | -
split_part | OK | X | - | -
strpos | OK | OK | - | -
substr | OK | OK | - | -
to_ascii | OK | X | - | -
to_hex | OK | X | - | -
translate | OK | X | - | -
DATETIME
age | OK | X | - | -
current_date | OK | OK | - | -
current_time | OK | OK (?) | - | -
current_timestamp | OK | OK (?) | - | -
date_part | OK | OK (PART?) | - | -
date_trunc | OK | PART | - | -
extract | OK | OK (PART?) | - | -
isfinite | OK | X | - | -
localtime | OK | OK (?) | - | -
localtimestamp | OK | OK (?) | - | -
now | OK | OK | - | -
timeofday | OK | X | - | -
timezone | OK | X | - | -
CONTITIONAL
coalesce | OK | OK | - | -
nullif | OK | OK | - | -
AGGREGATE
avg | OK | OK | - | -
bit_and | OK | OK | - | -
bit_or | OK | OK | - | -
bool_and | OK | OK | - | -
bool_or | OK | OK | - | -
count | OK | OK | - | -
every | OK | OK | - | -
max | OK | OK | - | -
min | OK | OK | - | -
stddev | OK | OK | - | -
sum | OK | OK | - | -
variance | OK | OK | - | -
FORMAT
to_char | OK | PART | - | -