Package org.hibernate.dialect.function
Class CommonFunctionFactory
java.lang.Object
org.hibernate.dialect.function.CommonFunctionFactory
Enumeratoes common function template definitions.
Centralized for easier use from dialects.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
MySQL stylevoid
void
void
aggregates
(Dialect dialect, SqlAstNodeRenderingMode inferenceArgumentRenderingMode) void
array()
H2, HSQL array() constructor functionvoid
H2, HSQL array() constructor functionvoid
Oracle array() constructor functionvoid
CockroachDB and PostgreSQL array() constructor functionvoid
Google Spanner array() constructor functionvoid
H2, HSQL, CockroachDB and PostgreSQL array_agg() functionvoid
Oracle array_agg() functionvoid
H2 and HSQLDB array_append() functionvoid
Oracle array_append() functionvoid
CockroachDB and PostgreSQL array_append() functionvoid
H2 and HSQLDB array_concat() functionvoid
Oracle array_concat() functionvoid
CockroachDB and PostgreSQL array_concat() functionvoid
arrayContains_h2
(int maximumArraySize) H2 array_contains() functionvoid
HSQL array_contains() functionvoid
Oracle array_contains() functionvoid
CockroachDB and PostgreSQL array contains operatorvoid
Cockroach array_fill() functionvoid
H2 array_fill() functionvoid
HSQLDB array_fill() functionvoid
Oracle array_fill() functionvoid
PostgreSQL array_fill() functionvoid
CockroachDB and PostgreSQL array_get() function via bracket syntaxvoid
H2 array_get() function via bracket syntaxvoid
Oracle array_get() functionvoid
HSQL array_get() functionvoid
arrayIntersects_h2
(int maximumArraySize) H2 array_intersects() functionvoid
HSQL array_intersects() functionvoid
Oracle array_intersects() functionvoid
CockroachDB and PostgreSQL array intersects operatorvoid
H2, HSQLDB, CockroachDB and PostgreSQL array_length() functionvoid
Oracle array_length() functionvoid
arrayPosition_h2
(int maximumArraySize) H2 array_position() functionvoid
HSQL array_position() functionvoid
Oracle array_position() functionvoid
CockroachDB and PostgreSQL array_position() functionvoid
arrayPositions_h2
(int maximumArraySize) H2 array_positions() functionvoid
HSQL array_positions() functionvoid
Oracle array_positions() functionvoid
CockroachDB and PostgreSQL array_positions() functionvoid
H2 and HSQLDB array_prepend() functionvoid
Oracle array_prepend() functionvoid
CockroachDB and PostgreSQL array_prepend() functionvoid
CockroachDB and PostgreSQL array_remove() functionvoid
arrayRemove_h2
(int maximumArraySize) H2 array_remove() functionvoid
HSQL array_remove() functionvoid
Oracle array_remove() functionvoid
arrayRemoveIndex_h2
(int maximumArraySize) H2 array_remove_index() functionvoid
Oracle array_remove_index() functionvoid
arrayRemoveIndex_unnest
(boolean castEmptyArrayLiteral) HSQL, CockroachDB and PostgreSQL array_remove_index() functionvoid
CockroachDB and PostgreSQL array_replace() functionvoid
arrayReplace_h2
(int maximumArraySize) H2 array_replace() functionvoid
Oracle array_replace() functionvoid
HSQL array_replace() functionvoid
arraySet_h2
(int maximumArraySize) H2 array_set() functionvoid
HSQL array_set() functionvoid
Oracle array_set() functionvoid
CockroachDB and PostgreSQL array_set() functionvoid
H2 array_slice() functionvoid
CockroachDB and PostgreSQL array_slice() functionvoid
Oracle array_slice() functionvoid
HSQL array_slice() functionvoid
arrayToString_h2
(int maximumArraySize) H2 array_to_string() functionvoid
HSQL array_to_string() functionvoid
Oracle array_to_string() functionvoid
CockroachDB and PostgreSQL array_to_string() functionvoid
Oracle array_trim() functionvoid
H2, HSQLDB, CockroachDB and PostgreSQL array_trim() functionvoid
PostgreSQL array_trim() emulation for versions before 14void
ascii()
Very widely supported, but we don't treat this as a "standard" function because it's hard to emulate on any database that doesn't have it (e.g.void
Transact-SQL atan2 is misspelledvoid
avg_castingNonDoubleArguments
(Dialect dialect, SqlAstNodeRenderingMode inferenceArgumentRenderingMode) void
bitand()
void
bitAndOr()
These are aggregate functions taking one argument!void
Bitwise operators, not aggregate functions!void
Binary bitwise operators, not aggregate functions!void
Binary bitwise operators, not aggregate functions!void
void
bitLength_pattern
(String pattern) void
bitLength_pattern
(String pattern, String clobPattern) void
bitLength_pattern
(String pattern, SqlAstNodeRenderingMode renderingMode) void
bitnot()
void
bitor()
void
bitxor()
void
cbrt()
void
void
char_chr()
void
Transact SQL-stylevoid
characterLength_length
(String clobPattern) void
characterLength_length
(SqlAstNodeRenderingMode argumentRenderingMode) Oracle-stylevoid
chr_char()
void
coalesce()
void
SAP DBvoid
collate()
Use the 'collate' operator which exists on at least Postgres, MySQL, Oracle, and SQL Servervoid
HSQL requires quotes around certain collationsvoid
concat()
void
Almost every databasevoid
concat_pipeOperator
(String clobPattern) void
corr()
void
cosh()
void
cosh_exp()
void
cot()
void
void
crc32()
Deprecated.void
void
date()
void
datediff()
MySQL style, returns the number of days between two datesvoid
Transact SQL-stylevoid
void
H2, DB2 and PostgreSQL native date_trunc() functionvoid
SQLServer native datetrunc() functionvoid
void
void
void
void
degrees()
void
For Oracle, HANAvoid
everyAny()
These are aggregate functions taking one argument!void
These are aggregate functions taking one argument, for databases that can directly aggregate both boolean columns and predicates!void
These are aggregate functions taking one argument, for Oracle and Sybase.void
These are aggregate functions taking one argument, for SQL Server.void
everyAny_sumCase
(boolean supportsPredicateAsExpression) These are aggregate functions taking one argument, for databases that have to emulate the boolean aggregation functions using sum() and case.void
MySQL-style (also Ingres)void
H2-style (uses Java's SimpleDateFormat directly so no need to translate format)void
Usually Oracle-style (except for Informix which quite close to MySQL-style)void
HANA's name for to_char() is still Oracle-stylevoid
generateSeries
(@Nullable String defaultValueColumnName, String defaultIndexSelectionExpression, boolean coerceToTimestamp) Standard generate_series() functionvoid
generateSeries_h2
(int maxSeriesSize) H2 generate_series() functionvoid
generateSeries_hana
(int maxSeriesSize) HANA generate_series() functionvoid
generateSeries_recursive
(int maxSeriesSize, boolean supportsInterval, boolean coerceToTimestamp) Recursive CTE generate_series() functionvoid
generateSeries_sqlserver
(int maxSeriesSize) SQL Server generate_series() functionvoid
generateSeries_sybasease
(int maxSeriesSize) Sybase ASE generate_series() functionvoid
void
Note that we include these for completeness, but since their names collide with the HQL abbreviations for extract(), they can't actually be called from HQL.void
void
void
initcap()
void
insert()
void
Postgresvoid
instr()
void
void
void
json_array() functionvoid
DB2 json_array() functionvoid
SAP HANA json_array() functionvoid
HSQLDB json_array() functionvoid
MariaDB json_array() functionvoid
MySQL json_array() functionvoid
Oracle json_array() functionvoid
PostgreSQL json_array() functionvoid
jsonArray_sqlserver
(boolean supportsExtendedJson) SQL Server json_array() functionvoid
DB2 json_arrayagg() functionvoid
H2 json_arrayagg() functionvoid
HANA json_arrayagg() functionvoid
HSQLDB json_arrayagg() functionvoid
MariaDB json_arrayagg() functionvoid
MySQL json_arrayagg() functionvoid
Oracle json_arrayagg() functionvoid
jsonArrayAgg_postgresql
(boolean supportsStandard) PostgreSQL json_arrayagg() functionvoid
jsonArrayAgg_sqlserver
(boolean supportsExtendedJson) SQL Server json_arrayagg() functionvoid
MariaDB json_array_append() functionvoid
MySQL json_array_append() functionvoid
Oracle json_array_append() functionvoid
jsonArrayAppend_postgresql
(boolean supportsLax) PostgreSQL json_array_append() functionvoid
jsonArrayAppend_sqlserver
(boolean supportsExtendedJson) SQL server json_array_append() functionvoid
MySQL json_array_insert() functionvoid
Oracle json_array_insert() functionvoid
PostgreSQL json_array_insert() functionvoid
SQL server json_array_insert() functionvoid
json_exists() functionvoid
CockroachDB json_exists() functionvoid
H2 json_exists() functionvoid
SAP HANA json_exists() functionvoid
MySQL json_exists() functionvoid
json_exists() function that doesn't support the passing clausevoid
Oracle json_exists() functionvoid
PostgreSQL json_exists() functionvoid
jsonExists_sqlserver
(boolean supportsExtendedJson) SQL Server json_exists() functionvoid
MySQL json_insert() functionvoid
Oracle json_insert() functionvoid
PostgreSQL json_insert() functionvoid
jsonInsert_sqlserver
(boolean supportsExtendedJson) SQL server json_insert() functionvoid
MySQL json_mergepatch() functionvoid
Oracle json_mergepatch() functionvoid
PostgreSQL json_mergepatch() functionvoid
json_object() functionvoid
DB2 json_object() functionvoid
SAP HANA json_object() functionvoid
HSQLDB json_object() functionvoid
MySQL json_object() functionvoid
jsonObject_oracle
(boolean colonSyntax) Oracle json_object() functionvoid
PostgreSQL json_object() functionvoid
jsonObject_sqlserver
(boolean supportsExtendedJson) SQL Server json_object() functionvoid
DB2 json_objectagg() functionvoid
json_objectagg() function for H2 and HSQLDBvoid
HANA json_objectagg() functionvoid
MariaDB json_objectagg() functionvoid
MySQL json_objectagg() functionvoid
Oracle json_objectagg() functionvoid
jsonObjectAgg_postgresql
(boolean supportsStandard) PostgreSQL json_objectagg() functionvoid
jsonObjectAgg_sqlserver
(boolean supportsExtendedJson) SQL Server json_objectagg() functionvoid
json_query() functionvoid
CockroachDB json_query() functionvoid
H2 json_query() functionvoid
MariaDB json_query() functionvoid
MySQL json_query() functionvoid
json_query() functionvoid
Oracle json_query() functionvoid
PostgreSQL json_query() functionvoid
SQL Server json_query() functionvoid
CockroachDB json_remove() functionvoid
MySQL json_remove() functionvoid
Oracle json_remove() functionvoid
PostgreSQL json_remove() functionvoid
SQL server json_remove() functionvoid
MySQL json_replace() functionvoid
Oracle json_replace() functionvoid
PostgreSQL json_replace() functionvoid
jsonReplace_sqlserver
(boolean supportsExtendedJson) SQL server json_replace() functionvoid
MySQL json_set() functionvoid
Oracle json_set() functionvoid
PostgreSQL json_set() functionvoid
SQL Server json_set() functionvoid
Standard json_table() functionvoid
CockroachDB json_table() functionvoid
jsonTable_db2
(int maximumSeriesSize) DB2 json_table() functionvoid
jsonTable_h2
(int maximumArraySize) H2 json_table() functionvoid
HANA json_table() functionvoid
MySQL json_table() functionvoid
Oracle json_table() functionvoid
PostgreSQL json_table() functionvoid
SQL Server json_table() functionvoid
json_value() functionvoid
CockroachDB json_value() functionvoid
DB2 json_value() functionvoid
H2 json_value() functionvoid
MariaDB json_value() functionvoid
MySQL json_value() functionvoid
HANA json_value() functionvoid
Oracle json_value() functionvoid
PostgreSQL json_value() functionvoid
SQL Server json_value() functionvoid
lastDay()
void
void
void
void
void
void
void
Emulate left via substr and right via substr and length.void
ANSI SQL-stylevoid
length_characterLength_pattern
(String clobPattern) void
void
void
listagg_list
(String stringType) void
listagg_stringAgg
(String stringType) void
listagg_stringAggWithinGroup
(String stringType) void
ln_log()
For SQL Server and Sybasevoid
void
locate()
void
Transact SQL-stylevoid
locate() in terms of ANSI position() and substring()void
log()
For databases where the first parameter is the basevoid
log_ln()
void
log_log()
SQL Server defines parameters in reverse ordervoid
For Sybasevoid
log10()
void
For Oracle and HANAvoid
log2()
void
void
MySQL/CUBRIDvoid
Postgresvoid
math()
void
md5()
Deprecated.void
void
median()
void
median_percentileCont
(boolean over) void
CockroachDB lacks implicit castingvoid
void
void
void
void
nullif()
void
void
octetLength_pattern
(String pattern) void
octetLength_pattern
(String pattern, String clobPattern) void
octetLength_pattern
(String pattern, SqlAstNodeRenderingMode renderingMode) void
overlay()
ANSI SQL form, supported by Postgres, HSQLvoid
overlayLength_overlay
(boolean withCodeUnits) For DB2 which has a broken implementation of overlay()void
pad()
void
pad_fill()
SAP DBvoid
void
Transact-SQLvoid
In MySQL the third argument is requiredvoid
pi()
void
pi_acos()
void
position()
ANSI-stylevoid
void
radians()
void
For Oracle, HANAvoid
rand()
Returns double between 0.0 and 1.0.void
void
repeat()
void
void
void
replace()
void
Sybasevoid
reverse()
void
round()
void
Derby (only works if the second arg is constant, as it almost always is)void
SQL Servervoid
PostgreSQL (only works if the second arg is constant, as it almost always is)void
rownum()
H2/HSQL-stylevoid
CUBRIDvoid
Oracle-stylevoid
void
sha()
Deprecated.void
void
sha1()
Deprecated.void
sha2()
Deprecated.void
sinh()
void
sinh_exp()
void
soundex()
void
space()
void
square()
void
stddev()
Warning: the semantics of this function are inconsistent between DBs.void
void
SQL Server-stylevoid
DB2 before 11void
substr()
void
Not the same as ANSI-style substring!void
Oracle, and many othersvoid
Transact SQL-style (3 required args)void
ANSI-style substringvoid
sysdate()
void
MySQL 5.7 precision defaults to seconds, but microseconds is bettervoid
MySQL requires the parens in sysdate()void
void
tanh()
void
tanh_exp()
void
time()
void
void
timestampaddAndDiff
(Dialect dialect, SqlAstNodeRenderingMode timestampRenderingMode) void
void
void
void
trim1()
void
trim2()
void
trunc()
void
void
void
Derby (only works if the second arg is constant, as it almost always is)void
SQL Server >= 16void
SAP HANAvoid
MySQLvoid
Standard unnest() functionvoid
unnest_db2
(int maximumArraySize) DB2 unnest() functionvoid
Standard unnest() function for databases that don't support arrays nativelyvoid
unnest_h2
(int maxArraySize) H2 unnest() functionvoid
HANA unnest() functionvoid
Oracle unnest() functionvoid
PostgreSQL unnest() functionvoid
SQL Server unnest() functionvoid
Sybase ASE unnest() functionvoid
void
variance()
Warning: the semantics of this function are inconsistent between DBs.void
DB2void
void
SQL Server-stylevoid
DB2 before 11void
void
void
void
xmlagg()
Standard xmlagg() functionvoid
SQL Server xmlagg() functionvoid
Standard xmlcomment() functionvoid
SQL Server xmlcomment() functionvoid
Standard xmlconcat() functionvoid
H2 xmlconcat() functionvoid
SQL Server xmlconcat() functionvoid
Standard xmlelement() functionvoid
H2 xmlelement() functionvoid
SQL Server xmlelement() functionvoid
Standard xmlexists() functionvoid
DB2 10.5 xmlexists() functionvoid
SQL Server xmlexists() functionvoid
Standard xmlforest() functionvoid
H2 xmlforest() functionvoid
SQL Server xmlforest() functionvoid
xmlpi()
Standard xmlpi() functionvoid
xmlpi_h2()
H2 xmlpi() functionvoid
SQL Server xmlpi() functionvoid
DB2 xmlquery() functionvoid
DB2 10.5 xmlquery() functionvoid
Oracle xmlquery() functionvoid
PostgreSQL xmlquery() functionvoid
SQL Server xmlquery() functionvoid
xmltable
(boolean supportsParametersInDefault) Standard xmltable() functionvoid
DB2 xmltable() functionvoid
HANA xmltable() functionvoid
Oracle xmltable() functionvoid
SQL Server xmltable() functionvoid
Sybase ASE xmltable() functionvoid
Note that we include these for completeness, but since their names collide with the HQL abbreviations for extract(), they can't actually be called from HQL.void
-
Constructor Details
-
CommonFunctionFactory
-
-
Method Details
-
cot
public void cot() -
log
public void log()For databases where the first parameter is the base -
log_ln
public void log_ln() -
log_log
public void log_log()SQL Server defines parameters in reverse order -
log_loglog
public void log_loglog()For Sybase -
ln_log
public void ln_log()For SQL Server and Sybase -
log10
public void log10() -
log10_log
public void log10_log()For Oracle and HANA -
log2
public void log2() -
radians
public void radians() -
radians_acos
public void radians_acos()For Oracle, HANA -
degrees
public void degrees() -
degrees_acos
public void degrees_acos()For Oracle, HANA -
sinh
public void sinh() -
sinh_exp
public void sinh_exp() -
cosh
public void cosh() -
cosh_exp
public void cosh_exp() -
tanh
public void tanh() -
tanh_exp
public void tanh_exp() -
moreHyperbolic
public void moreHyperbolic() -
trunc
public void trunc() -
trunc_dateTrunc
public void trunc_dateTrunc() -
trunc_dateTrunc_trunc
public void trunc_dateTrunc_trunc() -
trunc_truncate
public void trunc_truncate()MySQL -
trunc_round_datetrunc
public void trunc_round_datetrunc()SQL Server >= 16 -
trunc_floor
public void trunc_floor()Derby (only works if the second arg is constant, as it almost always is) -
trunc_roundMode
public void trunc_roundMode()SAP HANA -
rand
public void rand()Returns double between 0.0 and 1.0. First call may specify a seed value. -
median
public void median() -
median_percentileCont
public void median_percentileCont(boolean over) -
median_percentileCont_castDouble
public void median_percentileCont_castDouble()CockroachDB lacks implicit casting -
stddev
public void stddev()Warning: the semantics of this function are inconsistent between DBs.- On Postgres it means
stdev_samp()
- On Oracle, DB2, MySQL it means
stdev_pop()
- On Postgres it means
-
variance
public void variance()Warning: the semantics of this function are inconsistent between DBs.- On Postgres it means
var_samp()
- On Oracle, DB2, MySQL it means
var_pop()
- On Postgres it means
-
stddevPopSamp
public void stddevPopSamp() -
varPopSamp
public void varPopSamp() -
covarPopSamp
public void covarPopSamp() -
corr
public void corr() -
regrLinearRegressionAggregates
public void regrLinearRegressionAggregates() -
varianceSamp
public void varianceSamp()DB2 -
varSamp_sumCount
public void varSamp_sumCount()DB2 before 11 -
stddevSamp_sumCount
public void stddevSamp_sumCount()DB2 before 11 -
stddevPopSamp_stdevp
public void stddevPopSamp_stdevp()SQL Server-style -
varPopSamp_varp
public void varPopSamp_varp()SQL Server-style -
pi
public void pi() -
pi_acos
public void pi_acos() -
soundex
public void soundex() -
trim2
public void trim2() -
trim1
public void trim1() -
pad
public void pad() -
pad_space
public void pad_space()In MySQL the third argument is required -
pad_replicate
public void pad_replicate()Transact-SQL -
pad_repeat
public void pad_repeat() -
pad_fill
public void pad_fill()SAP DB -
reverse
public void reverse() -
space
public void space() -
repeat
public void repeat() -
repeat_rpad
public void repeat_rpad() -
leftRight
public void leftRight() -
leftRight_substr
public void leftRight_substr() -
leftRight_substrLength
public void leftRight_substrLength()Emulate left via substr and right via substr and length. This function is for Apache Derby and usesSqlAstNodeRenderingMode.NO_PLAIN_PARAMETER
for the right function emulation, because length in Apache Derby can't handle plain parameters. -
repeat_replicate
public void repeat_replicate() -
md5
Deprecated. -
initcap
public void initcap() -
instr
public void instr() -
substr
public void substr() -
translate
public void translate() -
bitand
public void bitand() -
bitor
public void bitor() -
bitxor
public void bitxor() -
bitnot
public void bitnot() -
bitandorxornot_bitAndOrXorNot
public void bitandorxornot_bitAndOrXorNot()Binary bitwise operators, not aggregate functions! -
bitandorxornot_binAndOrXorNot
public void bitandorxornot_binAndOrXorNot()Bitwise operators, not aggregate functions! -
bitandorxornot_operator
public void bitandorxornot_operator()Binary bitwise operators, not aggregate functions! -
bitAndOr
public void bitAndOr()These are aggregate functions taking one argument! -
everyAny
public void everyAny()These are aggregate functions taking one argument! -
everyAny_boolAndOr
public void everyAny_boolAndOr()These are aggregate functions taking one argument, for databases that can directly aggregate both boolean columns and predicates! -
everyAny_sumCase
public void everyAny_sumCase(boolean supportsPredicateAsExpression) These are aggregate functions taking one argument, for databases that have to emulate the boolean aggregation functions using sum() and case. -
everyAny_minMaxIif
public void everyAny_minMaxIif()These are aggregate functions taking one argument, for SQL Server. -
everyAny_minMaxCase
public void everyAny_minMaxCase()These are aggregate functions taking one argument, for Oracle and Sybase. -
yearMonthDay
public void yearMonthDay()Note that we include these for completeness, but since their names collide with the HQL abbreviations for extract(), they can't actually be called from HQL. -
hourMinuteSecond
public void hourMinuteSecond()Note that we include these for completeness, but since their names collide with the HQL abbreviations for extract(), they can't actually be called from HQL. -
dayofweekmonthyear
public void dayofweekmonthyear() -
dayOfWeekMonthYear
public void dayOfWeekMonthYear() -
daynameMonthname
public void daynameMonthname() -
weekQuarter
public void weekQuarter() -
lastDay
public void lastDay() -
lastDay_eomonth
public void lastDay_eomonth() -
ceiling_ceil
public void ceiling_ceil() -
toCharNumberDateTimestamp
public void toCharNumberDateTimestamp() -
dateTimeTimestamp
public void dateTimeTimestamp() -
timestamp
public void timestamp() -
time
public void time() -
date
public void date() -
utcDateTimeTimestamp
public void utcDateTimeTimestamp() -
currentUtcdatetimetimestamp
public void currentUtcdatetimetimestamp() -
week_weekofyear
public void week_weekofyear() -
concat_pipeOperator
public void concat_pipeOperator()Almost every database -
concat_pipeOperator
-
rownumRowid
public void rownumRowid()Oracle-style -
rownum
public void rownum()H2/HSQL-style -
rownumInstOrderbyGroupbyNum
public void rownumInstOrderbyGroupbyNum()CUBRID -
makedateMaketime
public void makedateMaketime()MySQL/CUBRID -
makeDateTimeTimestamp
public void makeDateTimeTimestamp()Postgres -
sysdate
public void sysdate() -
sysdateParens
public void sysdateParens()MySQL requires the parens in sysdate() -
sysdateExplicitMicros
public void sysdateExplicitMicros()MySQL 5.7 precision defaults to seconds, but microseconds is better -
systimestamp
public void systimestamp() -
localtimeLocaltimestamp
public void localtimeLocaltimestamp() -
trigonometry
public void trigonometry() -
atan2_atn2
public void atan2_atn2()Transact-SQL atan2 is misspelled -
coalesce
public void coalesce() -
coalesce_value
public void coalesce_value()SAP DB -
nullif
public void nullif() -
length_characterLength
public void length_characterLength()ANSI SQL-style -
length_characterLength_pattern
-
characterLength_len
public void characterLength_len()Transact SQL-style -
characterLength_length
Oracle-style -
characterLength_length
-
octetLength
public void octetLength() -
octetLength_pattern
-
octetLength_pattern
-
octetLength_pattern
-
bitLength
public void bitLength() -
bitLength_pattern
-
bitLength_pattern
-
bitLength_pattern
-
position
public void position()ANSI-style -
locate
public void locate() -
locate_charindex
public void locate_charindex()Transact SQL-style -
locate_positionSubstring
public void locate_positionSubstring()locate() in terms of ANSI position() and substring() -
substringFromFor
public void substringFromFor()ANSI-style substring -
substring
public void substring()Not the same as ANSI-style substring! -
substring_substringLen
public void substring_substringLen()Transact SQL-style (3 required args) -
substring_substr
public void substring_substr()Oracle, and many others -
insert
public void insert() -
insert_overlay
public void insert_overlay()Postgres -
overlay
public void overlay()ANSI SQL form, supported by Postgres, HSQL -
overlayLength_overlay
public void overlayLength_overlay(boolean withCodeUnits) For DB2 which has a broken implementation of overlay() -
replace
public void replace() -
replace_strReplace
public void replace_strReplace()Sybase -
concat
public void concat() -
lowerUpper
public void lowerUpper() -
ascii
public void ascii()Very widely supported, but we don't treat this as a "standard" function because it's hard to emulate on any database that doesn't have it (e.g. Derby) and because, well, ASCII. For the same reason we don't consider chr()/char() as "standard". -
char_chr
public void char_chr() -
chr_char
public void chr_char() -
datepartDatename
public void datepartDatename()Transact SQL-style -
nowCurdateCurtime
public void nowCurdateCurtime() -
leastGreatest
public void leastGreatest() -
leastGreatest_minMax
public void leastGreatest_minMax() -
leastGreatest_minMaxValue
public void leastGreatest_minMaxValue() -
aggregates
-
avg_castingNonDoubleArguments
public void avg_castingNonDoubleArguments(Dialect dialect, SqlAstNodeRenderingMode inferenceArgumentRenderingMode) -
listagg
-
listagg_groupConcat
public void listagg_groupConcat() -
listagg_list
-
listagg_stringAgg
-
listagg_stringAggWithinGroup
-
inverseDistributionOrderedSetAggregates
public void inverseDistributionOrderedSetAggregates() -
inverseDistributionOrderedSetAggregates_windowEmulation
public void inverseDistributionOrderedSetAggregates_windowEmulation() -
hypotheticalOrderedSetAggregates
public void hypotheticalOrderedSetAggregates() -
hypotheticalOrderedSetAggregates_windowEmulation
public void hypotheticalOrderedSetAggregates_windowEmulation() -
windowFunctions
public void windowFunctions() -
math
public void math() -
mod_operator
public void mod_operator() -
power_expLn
public void power_expLn() -
round
public void round() -
round_round
public void round_round()SQL Server -
round_floor
public void round_floor()Derby (only works if the second arg is constant, as it almost always is) -
round_roundFloor
public void round_roundFloor()PostgreSQL (only works if the second arg is constant, as it almost always is) -
square
public void square() -
cbrt
public void cbrt() -
crc32
Deprecated. -
hex
-
md5
-
sha
-
sha1
Deprecated. -
sha2
Deprecated. -
sha
Deprecated. -
timestampaddAndDiff
-
datediff
public void datediff()MySQL style, returns the number of days between two dates -
adddateSubdateAddtimeSubtime
public void adddateSubdateAddtimeSubtime()MySQL style -
addMonths
public void addMonths() -
monthsBetween
public void monthsBetween() -
daysBetween
public void daysBetween() -
secondsBetween
public void secondsBetween() -
yearsMonthsDaysHoursMinutesSecondsBetween
public void yearsMonthsDaysHoursMinutesSecondsBetween() -
addYearsMonthsDaysHoursMinutesSeconds
public void addYearsMonthsDaysHoursMinutesSeconds() -
format_formatdatetime
public void format_formatdatetime()H2-style (uses Java's SimpleDateFormat directly so no need to translate format) -
format_toChar
public void format_toChar()Usually Oracle-style (except for Informix which quite close to MySQL-style) -
format_dateFormat
public void format_dateFormat()MySQL-style (also Ingres) -
format_toVarchar
public void format_toVarchar()HANA's name for to_char() is still Oracle-style -
collate
public void collate()Use the 'collate' operator which exists on at least Postgres, MySQL, Oracle, and SQL Server -
collate_quoted
public void collate_quoted()HSQL requires quotes around certain collations -
dateTrunc
public void dateTrunc()H2, DB2 and PostgreSQL native date_trunc() function -
dateTrunc_datetrunc
public void dateTrunc_datetrunc()SQLServer native datetrunc() function -
array
public void array()H2, HSQL array() constructor function -
array_hsql
public void array_hsql()H2, HSQL array() constructor function -
array_postgresql
public void array_postgresql()CockroachDB and PostgreSQL array() constructor function -
array_spanner
public void array_spanner()Google Spanner array() constructor function -
array_oracle
public void array_oracle()Oracle array() constructor function -
arrayAggregate
public void arrayAggregate()H2, HSQL, CockroachDB and PostgreSQL array_agg() function -
arrayAggregate_jsonArrayagg
public void arrayAggregate_jsonArrayagg()Oracle array_agg() function -
arrayContains_h2
public void arrayContains_h2(int maximumArraySize) H2 array_contains() function -
arrayContains_hsql
public void arrayContains_hsql()HSQL array_contains() function -
arrayContains_postgresql
public void arrayContains_postgresql()CockroachDB and PostgreSQL array contains operator -
arrayContains_oracle
public void arrayContains_oracle()Oracle array_contains() function -
arrayIntersects_h2
public void arrayIntersects_h2(int maximumArraySize) H2 array_intersects() function -
arrayIntersects_hsql
public void arrayIntersects_hsql()HSQL array_intersects() function -
arrayIntersects_postgresql
public void arrayIntersects_postgresql()CockroachDB and PostgreSQL array intersects operator -
arrayIntersects_oracle
public void arrayIntersects_oracle()Oracle array_intersects() function -
arrayPosition_postgresql
public void arrayPosition_postgresql()CockroachDB and PostgreSQL array_position() function -
arrayPosition_h2
public void arrayPosition_h2(int maximumArraySize) H2 array_position() function -
arrayPosition_hsql
public void arrayPosition_hsql()HSQL array_position() function -
arrayPosition_oracle
public void arrayPosition_oracle()Oracle array_position() function -
arrayPositions_postgresql
public void arrayPositions_postgresql()CockroachDB and PostgreSQL array_positions() function -
arrayPositions_h2
public void arrayPositions_h2(int maximumArraySize) H2 array_positions() function -
arrayPositions_hsql
public void arrayPositions_hsql()HSQL array_positions() function -
arrayPositions_oracle
public void arrayPositions_oracle()Oracle array_positions() function -
arrayLength_cardinality
public void arrayLength_cardinality()H2, HSQLDB, CockroachDB and PostgreSQL array_length() function -
arrayLength_oracle
public void arrayLength_oracle()Oracle array_length() function -
arrayConcat_operator
public void arrayConcat_operator()H2 and HSQLDB array_concat() function -
arrayConcat_postgresql
public void arrayConcat_postgresql()CockroachDB and PostgreSQL array_concat() function -
arrayConcat_oracle
public void arrayConcat_oracle()Oracle array_concat() function -
arrayPrepend_operator
public void arrayPrepend_operator()H2 and HSQLDB array_prepend() function -
arrayPrepend_postgresql
public void arrayPrepend_postgresql()CockroachDB and PostgreSQL array_prepend() function -
arrayPrepend_oracle
public void arrayPrepend_oracle()Oracle array_prepend() function -
arrayAppend_operator
public void arrayAppend_operator()H2 and HSQLDB array_append() function -
arrayAppend_postgresql
public void arrayAppend_postgresql()CockroachDB and PostgreSQL array_append() function -
arrayAppend_oracle
public void arrayAppend_oracle()Oracle array_append() function -
arrayGet_h2
public void arrayGet_h2()H2 array_get() function via bracket syntax -
arrayGet_bracket
public void arrayGet_bracket()CockroachDB and PostgreSQL array_get() function via bracket syntax -
arrayGet_unnest
public void arrayGet_unnest()HSQL array_get() function -
arrayGet_oracle
public void arrayGet_oracle()Oracle array_get() function -
arraySet_h2
public void arraySet_h2(int maximumArraySize) H2 array_set() function -
arraySet_hsql
public void arraySet_hsql()HSQL array_set() function -
arraySet_unnest
public void arraySet_unnest()CockroachDB and PostgreSQL array_set() function -
arraySet_oracle
public void arraySet_oracle()Oracle array_set() function -
arrayRemove
public void arrayRemove()CockroachDB and PostgreSQL array_remove() function -
arrayRemove_h2
public void arrayRemove_h2(int maximumArraySize) H2 array_remove() function -
arrayRemove_hsql
public void arrayRemove_hsql()HSQL array_remove() function -
arrayRemove_oracle
public void arrayRemove_oracle()Oracle array_remove() function -
arrayRemoveIndex_h2
public void arrayRemoveIndex_h2(int maximumArraySize) H2 array_remove_index() function -
arrayRemoveIndex_unnest
public void arrayRemoveIndex_unnest(boolean castEmptyArrayLiteral) HSQL, CockroachDB and PostgreSQL array_remove_index() function -
arrayRemoveIndex_oracle
public void arrayRemoveIndex_oracle()Oracle array_remove_index() function -
arraySlice
public void arraySlice()H2 array_slice() function -
arraySlice_unnest
public void arraySlice_unnest()HSQL array_slice() function -
arraySlice_operator
public void arraySlice_operator()CockroachDB and PostgreSQL array_slice() function -
arraySlice_oracle
public void arraySlice_oracle()Oracle array_slice() function -
arrayReplace_h2
public void arrayReplace_h2(int maximumArraySize) H2 array_replace() function -
arrayReplace_unnest
public void arrayReplace_unnest()HSQL array_replace() function -
arrayReplace
public void arrayReplace()CockroachDB and PostgreSQL array_replace() function -
arrayReplace_oracle
public void arrayReplace_oracle()Oracle array_replace() function -
arrayTrim_trim_array
public void arrayTrim_trim_array()H2, HSQLDB, CockroachDB and PostgreSQL array_trim() function -
arrayTrim_unnest
public void arrayTrim_unnest()PostgreSQL array_trim() emulation for versions before 14 -
arrayTrim_oracle
public void arrayTrim_oracle()Oracle array_trim() function -
arrayFill_h2
public void arrayFill_h2()H2 array_fill() function -
arrayFill_hsql
public void arrayFill_hsql()HSQLDB array_fill() function -
arrayFill_postgresql
public void arrayFill_postgresql()PostgreSQL array_fill() function -
arrayFill_cockroachdb
public void arrayFill_cockroachdb()Cockroach array_fill() function -
arrayFill_oracle
public void arrayFill_oracle()Oracle array_fill() function -
arrayToString_h2
public void arrayToString_h2(int maximumArraySize) H2 array_to_string() function -
arrayToString_hsql
public void arrayToString_hsql()HSQL array_to_string() function -
arrayToString_postgresql
public void arrayToString_postgresql()CockroachDB and PostgreSQL array_to_string() function -
arrayToString_oracle
public void arrayToString_oracle()Oracle array_to_string() function -
jsonValue
public void jsonValue()json_value() function -
jsonValue_no_passing
public void jsonValue_no_passing()HANA json_value() function -
jsonValue_oracle
public void jsonValue_oracle()Oracle json_value() function -
jsonValue_db2
public void jsonValue_db2()DB2 json_value() function -
jsonValue_postgresql
public void jsonValue_postgresql()PostgreSQL json_value() function -
jsonValue_cockroachdb
public void jsonValue_cockroachdb()CockroachDB json_value() function -
jsonValue_mysql
public void jsonValue_mysql()MySQL json_value() function -
jsonValue_mariadb
public void jsonValue_mariadb()MariaDB json_value() function -
jsonValue_sqlserver
public void jsonValue_sqlserver()SQL Server json_value() function -
jsonValue_h2
public void jsonValue_h2()H2 json_value() function -
jsonQuery
public void jsonQuery()json_query() function -
jsonQuery_no_passing
public void jsonQuery_no_passing()json_query() function -
jsonQuery_oracle
public void jsonQuery_oracle()Oracle json_query() function -
jsonQuery_postgresql
public void jsonQuery_postgresql()PostgreSQL json_query() function -
jsonQuery_cockroachdb
public void jsonQuery_cockroachdb()CockroachDB json_query() function -
jsonQuery_mysql
public void jsonQuery_mysql()MySQL json_query() function -
jsonQuery_mariadb
public void jsonQuery_mariadb()MariaDB json_query() function -
jsonQuery_sqlserver
public void jsonQuery_sqlserver()SQL Server json_query() function -
jsonQuery_h2
public void jsonQuery_h2()H2 json_query() function -
jsonExists
public void jsonExists()json_exists() function -
jsonExists_no_passing
public void jsonExists_no_passing()json_exists() function that doesn't support the passing clause -
jsonExists_oracle
public void jsonExists_oracle()Oracle json_exists() function -
jsonExists_h2
public void jsonExists_h2()H2 json_exists() function -
jsonExists_sqlserver
public void jsonExists_sqlserver(boolean supportsExtendedJson) SQL Server json_exists() function -
jsonExists_postgresql
public void jsonExists_postgresql()PostgreSQL json_exists() function -
jsonExists_cockroachdb
public void jsonExists_cockroachdb()CockroachDB json_exists() function -
jsonExists_mysql
public void jsonExists_mysql()MySQL json_exists() function -
jsonExists_hana
public void jsonExists_hana()SAP HANA json_exists() function -
jsonObject
public void jsonObject()json_object() function -
jsonObject_db2
public void jsonObject_db2()DB2 json_object() function -
jsonObject_oracle
public void jsonObject_oracle(boolean colonSyntax) Oracle json_object() function -
jsonObject_sqlserver
public void jsonObject_sqlserver(boolean supportsExtendedJson) SQL Server json_object() function -
jsonObject_hana
public void jsonObject_hana()SAP HANA json_object() function -
jsonObject_hsqldb
public void jsonObject_hsqldb()HSQLDB json_object() function -
jsonObject_mysql
public void jsonObject_mysql()MySQL json_object() function -
jsonObject_postgresql
public void jsonObject_postgresql()PostgreSQL json_object() function -
jsonArray
public void jsonArray()json_array() function -
jsonArray_db2
public void jsonArray_db2()DB2 json_array() function -
jsonArray_oracle
public void jsonArray_oracle()Oracle json_array() function -
jsonArray_sqlserver
public void jsonArray_sqlserver(boolean supportsExtendedJson) SQL Server json_array() function -
jsonArray_hana
public void jsonArray_hana()SAP HANA json_array() function -
jsonArray_hsqldb
public void jsonArray_hsqldb()HSQLDB json_array() function -
jsonArray_mysql
public void jsonArray_mysql()MySQL json_array() function -
jsonArray_mariadb
public void jsonArray_mariadb()MariaDB json_array() function -
jsonArray_postgresql
public void jsonArray_postgresql()PostgreSQL json_array() function -
jsonArrayAgg_h2
public void jsonArrayAgg_h2()H2 json_arrayagg() function -
jsonArrayAgg_hsqldb
public void jsonArrayAgg_hsqldb()HSQLDB json_arrayagg() function -
jsonArrayAgg_oracle
public void jsonArrayAgg_oracle()Oracle json_arrayagg() function -
jsonArrayAgg_postgresql
public void jsonArrayAgg_postgresql(boolean supportsStandard) PostgreSQL json_arrayagg() function -
jsonArrayAgg_sqlserver
public void jsonArrayAgg_sqlserver(boolean supportsExtendedJson) SQL Server json_arrayagg() function -
jsonArrayAgg_mysql
public void jsonArrayAgg_mysql()MySQL json_arrayagg() function -
jsonArrayAgg_mariadb
public void jsonArrayAgg_mariadb()MariaDB json_arrayagg() function -
jsonArrayAgg_db2
public void jsonArrayAgg_db2()DB2 json_arrayagg() function -
jsonArrayAgg_hana
public void jsonArrayAgg_hana()HANA json_arrayagg() function -
jsonObjectAgg_oracle
public void jsonObjectAgg_oracle()Oracle json_objectagg() function -
jsonObjectAgg_h2
public void jsonObjectAgg_h2()json_objectagg() function for H2 and HSQLDB -
jsonObjectAgg_postgresql
public void jsonObjectAgg_postgresql(boolean supportsStandard) PostgreSQL json_objectagg() function -
jsonObjectAgg_mysql
public void jsonObjectAgg_mysql()MySQL json_objectagg() function -
jsonObjectAgg_mariadb
public void jsonObjectAgg_mariadb()MariaDB json_objectagg() function -
jsonObjectAgg_sqlserver
public void jsonObjectAgg_sqlserver(boolean supportsExtendedJson) SQL Server json_objectagg() function -
jsonObjectAgg_hana
public void jsonObjectAgg_hana()HANA json_objectagg() function -
jsonObjectAgg_db2
public void jsonObjectAgg_db2()DB2 json_objectagg() function -
jsonSet_postgresql
public void jsonSet_postgresql()PostgreSQL json_set() function -
jsonSet_mysql
public void jsonSet_mysql()MySQL json_set() function -
jsonSet_oracle
public void jsonSet_oracle()Oracle json_set() function -
jsonSet_sqlserver
public void jsonSet_sqlserver()SQL Server json_set() function -
jsonRemove_postgresql
public void jsonRemove_postgresql()PostgreSQL json_remove() function -
jsonRemove_cockroachdb
public void jsonRemove_cockroachdb()CockroachDB json_remove() function -
jsonRemove_mysql
public void jsonRemove_mysql()MySQL json_remove() function -
jsonRemove_oracle
public void jsonRemove_oracle()Oracle json_remove() function -
jsonRemove_sqlserver
public void jsonRemove_sqlserver()SQL server json_remove() function -
jsonReplace_postgresql
public void jsonReplace_postgresql()PostgreSQL json_replace() function -
jsonReplace_mysql
public void jsonReplace_mysql()MySQL json_replace() function -
jsonReplace_oracle
public void jsonReplace_oracle()Oracle json_replace() function -
jsonReplace_sqlserver
public void jsonReplace_sqlserver(boolean supportsExtendedJson) SQL server json_replace() function -
jsonInsert_postgresql
public void jsonInsert_postgresql()PostgreSQL json_insert() function -
jsonInsert_mysql
public void jsonInsert_mysql()MySQL json_insert() function -
jsonInsert_oracle
public void jsonInsert_oracle()Oracle json_insert() function -
jsonInsert_sqlserver
public void jsonInsert_sqlserver(boolean supportsExtendedJson) SQL server json_insert() function -
jsonMergepatch_postgresql
public void jsonMergepatch_postgresql()PostgreSQL json_mergepatch() function -
jsonMergepatch_mysql
public void jsonMergepatch_mysql()MySQL json_mergepatch() function -
jsonMergepatch_oracle
public void jsonMergepatch_oracle()Oracle json_mergepatch() function -
jsonArrayAppend_postgresql
public void jsonArrayAppend_postgresql(boolean supportsLax) PostgreSQL json_array_append() function -
jsonArrayAppend_mysql
public void jsonArrayAppend_mysql()MySQL json_array_append() function -
jsonArrayAppend_mariadb
public void jsonArrayAppend_mariadb()MariaDB json_array_append() function -
jsonArrayAppend_oracle
public void jsonArrayAppend_oracle()Oracle json_array_append() function -
jsonArrayAppend_sqlserver
public void jsonArrayAppend_sqlserver(boolean supportsExtendedJson) SQL server json_array_append() function -
jsonArrayInsert_postgresql
public void jsonArrayInsert_postgresql()PostgreSQL json_array_insert() function -
jsonArrayInsert_mysql
public void jsonArrayInsert_mysql()MySQL json_array_insert() function -
jsonArrayInsert_oracle
public void jsonArrayInsert_oracle()Oracle json_array_insert() function -
jsonArrayInsert_sqlserver
public void jsonArrayInsert_sqlserver()SQL server json_array_insert() function -
xmlelement
public void xmlelement()Standard xmlelement() function -
xmlelement_h2
public void xmlelement_h2()H2 xmlelement() function -
xmlelement_sqlserver
public void xmlelement_sqlserver()SQL Server xmlelement() function -
xmlcomment
public void xmlcomment()Standard xmlcomment() function -
xmlcomment_sqlserver
public void xmlcomment_sqlserver()SQL Server xmlcomment() function -
xmlforest
public void xmlforest()Standard xmlforest() function -
xmlforest_h2
public void xmlforest_h2()H2 xmlforest() function -
xmlforest_sqlserver
public void xmlforest_sqlserver()SQL Server xmlforest() function -
xmlconcat
public void xmlconcat()Standard xmlconcat() function -
xmlconcat_h2
public void xmlconcat_h2()H2 xmlconcat() function -
xmlconcat_sqlserver
public void xmlconcat_sqlserver()SQL Server xmlconcat() function -
xmlpi
public void xmlpi()Standard xmlpi() function -
xmlpi_h2
public void xmlpi_h2()H2 xmlpi() function -
xmlpi_sqlserver
public void xmlpi_sqlserver()SQL Server xmlpi() function -
xmlquery_oracle
public void xmlquery_oracle()Oracle xmlquery() function -
xmlquery_db2
public void xmlquery_db2()DB2 xmlquery() function -
xmlquery_db2_legacy
public void xmlquery_db2_legacy()DB2 10.5 xmlquery() function -
xmlquery_postgresql
public void xmlquery_postgresql()PostgreSQL xmlquery() function -
xmlquery_sqlserver
public void xmlquery_sqlserver()SQL Server xmlquery() function -
xmlexists
public void xmlexists()Standard xmlexists() function -
xmlexists_sqlserver
public void xmlexists_sqlserver()SQL Server xmlexists() function -
xmlexists_db2_legacy
public void xmlexists_db2_legacy()DB2 10.5 xmlexists() function -
xmlagg
public void xmlagg()Standard xmlagg() function -
xmlagg_sqlserver
public void xmlagg_sqlserver()SQL Server xmlagg() function -
unnest
public void unnest(@Nullable String defaultBasicArrayElementColumnName, String defaultIndexSelectionExpression) Standard unnest() function -
unnest_emulated
public void unnest_emulated()Standard unnest() function for databases that don't support arrays natively -
unnest_h2
public void unnest_h2(int maxArraySize) H2 unnest() function -
unnest_oracle
public void unnest_oracle()Oracle unnest() function -
unnest_postgresql
public void unnest_postgresql()PostgreSQL unnest() function -
unnest_sqlserver
public void unnest_sqlserver()SQL Server unnest() function -
unnest_sybasease
public void unnest_sybasease()Sybase ASE unnest() function -
unnest_hana
public void unnest_hana()HANA unnest() function -
unnest_db2
public void unnest_db2(int maximumArraySize) DB2 unnest() function -
generateSeries
public void generateSeries(@Nullable String defaultValueColumnName, String defaultIndexSelectionExpression, boolean coerceToTimestamp) Standard generate_series() function -
generateSeries_recursive
public void generateSeries_recursive(int maxSeriesSize, boolean supportsInterval, boolean coerceToTimestamp) Recursive CTE generate_series() function -
generateSeries_h2
public void generateSeries_h2(int maxSeriesSize) H2 generate_series() function -
generateSeries_sqlserver
public void generateSeries_sqlserver(int maxSeriesSize) SQL Server generate_series() function -
generateSeries_sybasease
public void generateSeries_sybasease(int maxSeriesSize) Sybase ASE generate_series() function -
generateSeries_hana
public void generateSeries_hana(int maxSeriesSize) HANA generate_series() function -
jsonTable
public void jsonTable()Standard json_table() function -
jsonTable_oracle
public void jsonTable_oracle()Oracle json_table() function -
jsonTable_postgresql
public void jsonTable_postgresql()PostgreSQL json_table() function -
jsonTable_cockroachdb
public void jsonTable_cockroachdb()CockroachDB json_table() function -
jsonTable_mysql
public void jsonTable_mysql()MySQL json_table() function -
jsonTable_db2
public void jsonTable_db2(int maximumSeriesSize) DB2 json_table() function -
jsonTable_hana
public void jsonTable_hana()HANA json_table() function -
jsonTable_sqlserver
public void jsonTable_sqlserver()SQL Server json_table() function -
jsonTable_h2
public void jsonTable_h2(int maximumArraySize) H2 json_table() function -
xmltable
public void xmltable(boolean supportsParametersInDefault) Standard xmltable() function -
xmltable_oracle
public void xmltable_oracle()Oracle xmltable() function -
xmltable_db2
public void xmltable_db2()DB2 xmltable() function -
xmltable_hana
public void xmltable_hana()HANA xmltable() function -
xmltable_sqlserver
public void xmltable_sqlserver()SQL Server xmltable() function -
xmltable_sybasease
public void xmltable_sybasease()Sybase ASE xmltable() function
-