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 TypeMethodDescriptionvoidMySQL stylevoidvoidvoidaggregates(Dialect dialect, SqlAstNodeRenderingMode inferenceArgumentRenderingMode) voidarray()H2, HSQL array() constructor functionvoidH2, HSQL array() constructor functionvoidOracle array() constructor functionvoidCockroachDB and PostgreSQL array() constructor functionvoidGoogle Spanner array() constructor functionvoidH2, HSQL, CockroachDB and PostgreSQL array_agg() functionvoidOracle array_agg() functionvoidH2 and HSQLDB array_append() functionvoidOracle array_append() functionvoidCockroachDB and PostgreSQL array_append() functionvoidH2 and HSQLDB array_concat() functionvoidOracle array_concat() functionvoidCockroachDB and PostgreSQL array_concat() functionvoidarrayContains_h2(int maximumArraySize) H2 array_contains() functionvoidHSQL array_contains() functionvoidOracle array_contains() functionvoidCockroachDB and PostgreSQL array contains operatorvoidCockroach array_fill() functionvoidH2 array_fill() functionvoidHSQLDB array_fill() functionvoidOracle array_fill() functionvoidPostgreSQL array_fill() functionvoidCockroachDB and PostgreSQL array_get() function via bracket syntaxvoidH2 array_get() function via bracket syntaxvoidOracle array_get() functionvoidHSQL array_get() functionvoidarrayIntersects_h2(int maximumArraySize) H2 array_intersects() functionvoidHSQL array_intersects() functionvoidOracle array_intersects() functionvoidCockroachDB and PostgreSQL array intersects operatorvoidH2, HSQLDB, CockroachDB and PostgreSQL array_length() functionvoidOracle array_length() functionvoidarrayPosition_h2(int maximumArraySize) H2 array_position() functionvoidHSQL array_position() functionvoidOracle array_position() functionvoidCockroachDB and PostgreSQL array_position() functionvoidarrayPositions_h2(int maximumArraySize) H2 array_positions() functionvoidHSQL array_positions() functionvoidOracle array_positions() functionvoidCockroachDB and PostgreSQL array_positions() functionvoidH2 and HSQLDB array_prepend() functionvoidOracle array_prepend() functionvoidCockroachDB and PostgreSQL array_prepend() functionvoidCockroachDB and PostgreSQL array_remove() functionvoidarrayRemove_h2(int maximumArraySize) H2 array_remove() functionvoidHSQL array_remove() functionvoidOracle array_remove() functionvoidarrayRemoveIndex_h2(int maximumArraySize) H2 array_remove_index() functionvoidOracle array_remove_index() functionvoidarrayRemoveIndex_unnest(boolean castEmptyArrayLiteral) HSQL, CockroachDB and PostgreSQL array_remove_index() functionvoidCockroachDB and PostgreSQL array_replace() functionvoidarrayReplace_h2(int maximumArraySize) H2 array_replace() functionvoidOracle array_replace() functionvoidHSQL array_replace() functionvoidarraySet_h2(int maximumArraySize) H2 array_set() functionvoidHSQL array_set() functionvoidOracle array_set() functionvoidCockroachDB and PostgreSQL array_set() functionvoidH2 array_slice() functionvoidCockroachDB and PostgreSQL array_slice() functionvoidOracle array_slice() functionvoidHSQL array_slice() functionvoidarrayToString_h2(int maximumArraySize) H2 array_to_string() functionvoidHSQL array_to_string() functionvoidOracle array_to_string() functionvoidCockroachDB and PostgreSQL array_to_string() functionvoidOracle array_trim() functionvoidH2, HSQLDB, CockroachDB and PostgreSQL array_trim() functionvoidPostgreSQL array_trim() emulation for versions before 14voidascii()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.voidTransact-SQL atan2 is misspelledvoidavg_castingNonDoubleArguments(Dialect dialect, SqlAstNodeRenderingMode inferenceArgumentRenderingMode) voidbitand()voidbitAndOr()These are aggregate functions taking one argument!voidBitwise operators, not aggregate functions!voidBinary bitwise operators, not aggregate functions!voidBinary bitwise operators, not aggregate functions!voidvoidbitLength_pattern(String pattern) voidbitLength_pattern(String pattern, String clobPattern) voidbitLength_pattern(String pattern, SqlAstNodeRenderingMode renderingMode) voidbitnot()voidbitor()voidbitxor()voidcbrt()voidvoidchar_chr()voidTransact SQL-stylevoidcharacterLength_length(String clobPattern) voidcharacterLength_length(SqlAstNodeRenderingMode argumentRenderingMode) Oracle-stylevoidchr_char()voidcoalesce()voidSAP DBvoidcollate()Use the 'collate' operator which exists on at least Postgres, MySQL, Oracle, and SQL ServervoidHSQL requires quotes around certain collationsvoidconcat()voidAlmost every databasevoidconcat_pipeOperator(String clobPattern) voidcorr()voidcosh()voidcosh_exp()voidcot()voidvoidcrc32()Deprecated.voidvoiddate()voiddatediff()MySQL style, returns the number of days between two datesvoidTransact SQL-stylevoidvoidH2, DB2 and PostgreSQL native date_trunc() functionvoidSQLServer native datetrunc() functionvoidvoidvoidvoidvoiddegrees()voidFor Oracle, HANAvoideveryAny()These are aggregate functions taking one argument!voidThese are aggregate functions taking one argument, for databases that can directly aggregate both boolean columns and predicates!voidThese are aggregate functions taking one argument, for Oracle and Sybase.voidThese are aggregate functions taking one argument, for SQL Server.voideveryAny_sumCase(boolean supportsPredicateAsExpression) These are aggregate functions taking one argument, for databases that have to emulate the boolean aggregation functions using sum() and case.voidMySQL-style (also Ingres)voidH2-style (uses Java's SimpleDateFormat directly so no need to translate format)voidUsually Oracle-style (except for Informix which quite close to MySQL-style)voidHANA's name for to_char() is still Oracle-stylevoidgenerateSeries(@Nullable String defaultValueColumnName, String defaultIndexSelectionExpression, boolean coerceToTimestamp) Standard generate_series() functionvoidgenerateSeries_h2(int maxSeriesSize) H2 generate_series() functionvoidgenerateSeries_hana(int maxSeriesSize) HANA generate_series() functionvoidgenerateSeries_recursive(int maxSeriesSize, boolean supportsInterval, boolean coerceToTimestamp) Recursive CTE generate_series() functionvoidgenerateSeries_sqlserver(int maxSeriesSize) SQL Server generate_series() functionvoidgenerateSeries_sybasease(int maxSeriesSize) Sybase ASE generate_series() functionvoidvoidNote 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.voidvoidvoidinitcap()voidinsert()voidPostgresvoidinstr()voidvoidvoidjson_array() functionvoidDB2 json_array() functionvoidSAP HANA json_array() functionvoidHSQLDB json_array() functionvoidMariaDB json_array() functionvoidMySQL json_array() functionvoidOracle json_array() functionvoidPostgreSQL json_array() functionvoidjsonArray_sqlserver(boolean supportsExtendedJson) SQL Server json_array() functionvoidDB2 json_arrayagg() functionvoidH2 json_arrayagg() functionvoidHANA json_arrayagg() functionvoidHSQLDB json_arrayagg() functionvoidMariaDB json_arrayagg() functionvoidMySQL json_arrayagg() functionvoidOracle json_arrayagg() functionvoidjsonArrayAgg_postgresql(boolean supportsStandard) PostgreSQL json_arrayagg() functionvoidjsonArrayAgg_sqlserver(boolean supportsExtendedJson) SQL Server json_arrayagg() functionvoidMariaDB json_array_append() functionvoidMySQL json_array_append() functionvoidOracle json_array_append() functionvoidjsonArrayAppend_postgresql(boolean supportsLax) PostgreSQL json_array_append() functionvoidjsonArrayAppend_sqlserver(boolean supportsExtendedJson) SQL server json_array_append() functionvoidMySQL json_array_insert() functionvoidOracle json_array_insert() functionvoidPostgreSQL json_array_insert() functionvoidSQL server json_array_insert() functionvoidjson_exists() functionvoidCockroachDB json_exists() functionvoidH2 json_exists() functionvoidSAP HANA json_exists() functionvoidMySQL json_exists() functionvoidjson_exists() function that doesn't support the passing clausevoidOracle json_exists() functionvoidPostgreSQL json_exists() functionvoidjsonExists_sqlserver(boolean supportsExtendedJson) SQL Server json_exists() functionvoidMySQL json_insert() functionvoidOracle json_insert() functionvoidPostgreSQL json_insert() functionvoidjsonInsert_sqlserver(boolean supportsExtendedJson) SQL server json_insert() functionvoidMySQL json_mergepatch() functionvoidOracle json_mergepatch() functionvoidPostgreSQL json_mergepatch() functionvoidjson_object() functionvoidDB2 json_object() functionvoidSAP HANA json_object() functionvoidHSQLDB json_object() functionvoidMySQL json_object() functionvoidjsonObject_oracle(boolean colonSyntax) Oracle json_object() functionvoidPostgreSQL json_object() functionvoidjsonObject_sqlserver(boolean supportsExtendedJson) SQL Server json_object() functionvoidDB2 json_objectagg() functionvoidjson_objectagg() function for H2 and HSQLDBvoidHANA json_objectagg() functionvoidMariaDB json_objectagg() functionvoidMySQL json_objectagg() functionvoidOracle json_objectagg() functionvoidjsonObjectAgg_postgresql(boolean supportsStandard) PostgreSQL json_objectagg() functionvoidjsonObjectAgg_sqlserver(boolean supportsExtendedJson) SQL Server json_objectagg() functionvoidjson_query() functionvoidCockroachDB json_query() functionvoidH2 json_query() functionvoidMariaDB json_query() functionvoidMySQL json_query() functionvoidjson_query() functionvoidOracle json_query() functionvoidPostgreSQL json_query() functionvoidSQL Server json_query() functionvoidCockroachDB json_remove() functionvoidMySQL json_remove() functionvoidOracle json_remove() functionvoidPostgreSQL json_remove() functionvoidSQL server json_remove() functionvoidMySQL json_replace() functionvoidOracle json_replace() functionvoidPostgreSQL json_replace() functionvoidjsonReplace_sqlserver(boolean supportsExtendedJson) SQL server json_replace() functionvoidMySQL json_set() functionvoidOracle json_set() functionvoidPostgreSQL json_set() functionvoidSQL Server json_set() functionvoidStandard json_table() functionvoidCockroachDB json_table() functionvoidjsonTable_db2(int maximumSeriesSize) DB2 json_table() functionvoidjsonTable_h2(int maximumArraySize) H2 json_table() functionvoidHANA json_table() functionvoidMySQL json_table() functionvoidOracle json_table() functionvoidPostgreSQL json_table() functionvoidSQL Server json_table() functionvoidCockroachDB json_value() functionvoidDB2 json_value() functionvoidH2 json_value() functionvoidMariaDB json_value() functionvoidMySQL json_value() functionvoidHANA json_value() functionvoidOracle json_value() functionvoidjsonValue_postgresql(boolean supportsStandard) PostgreSQL json_value() functionvoidSQL Server json_value() functionvoidlastDay()voidvoidvoidvoidvoidvoidvoidEmulate left via substr and right via substr and length.voidANSI SQL-stylevoidlength_characterLength_pattern(String clobPattern) voidvoidvoidlistagg_list(String stringType) voidlistagg_stringAgg(String stringType) voidlistagg_stringAggWithinGroup(String stringType) voidln_log()For SQL Server and Sybasevoidvoidlocate()voidTransact SQL-stylevoidlocate() in terms of ANSI position() and substring()voidlog()For databases where the first parameter is the basevoidlog_ln()voidlog_log()SQL Server defines parameters in reverse ordervoidFor Sybasevoidlog10()voidFor Oracle and HANAvoidlog2()voidvoidMySQL/CUBRIDvoidPostgresvoidmath()voidmd5()Deprecated.voidvoidmedian()voidmedian_percentileCont(boolean over) voidCockroachDB lacks implicit castingvoidvoidvoidvoidvoidnullif()voidvoidoctetLength_pattern(String pattern) voidoctetLength_pattern(String pattern, String clobPattern) voidoctetLength_pattern(String pattern, SqlAstNodeRenderingMode renderingMode) voidoverlay()ANSI SQL form, supported by Postgres, HSQLvoidoverlayLength_overlay(boolean withCodeUnits) For DB2 which has a broken implementation of overlay()voidpad()voidpad_fill()SAP DBvoidvoidTransact-SQLvoidIn MySQL the third argument is requiredvoidpi()voidpi_acos()voidposition()ANSI-stylevoidvoidradians()voidFor Oracle, HANAvoidrand()Returns double between 0.0 and 1.0.voidvoidrepeat()voidvoidvoidrepeat_rpad(String lengthFunctionName) voidreplace()voidSybasevoidreverse()voidround()voidDerby (only works if the second arg is constant, as it almost always is)voidSQL ServervoidPostgreSQL (only works if the second arg is constant, as it almost always is)voidrownum()H2/HSQL-stylevoidCUBRIDvoidOracle-stylevoidvoidsha()Deprecated.voidvoidsha1()Deprecated.voidsha2()Deprecated.voidsinh()voidsinh_exp()voidsoundex()voidspace()voidsquare()voidstddev()Warning: the semantics of this function are inconsistent between DBs.voidvoidSQL Server-stylevoidDB2 before 11voidsubstr()voidNot the same as ANSI-style substring!voidOracle, and many othersvoidTransact SQL-style (3 required args)voidANSI-style substringvoidsysdate()voidMySQL 5.7 precision defaults to seconds, but microseconds is bettervoidMySQL requires the parens in sysdate()voidvoidtanh()voidtanh_exp()voidtime()voidvoidtimestampaddAndDiff(Dialect dialect, SqlAstNodeRenderingMode timestampRenderingMode) voidvoidvoidvoidtrim1()voidtrim2()voidtrunc()voidvoidvoidDerby (only works if the second arg is constant, as it almost always is)voidSQL Server >= 16voidSAP HANAvoidMySQLvoidStandard unnest() functionvoidunnest_db2(int maximumArraySize) DB2 unnest() functionvoidStandard unnest() function for databases that don't support arrays nativelyvoidunnest_h2(int maxArraySize) H2 unnest() functionvoidHANA unnest() functionvoidOracle unnest() functionvoidunnest_postgresql(boolean supportsJsonTable) PostgreSQL unnest() functionvoidSQL Server unnest() functionvoidSybase ASE unnest() functionvoidvoidvariance()Warning: the semantics of this function are inconsistent between DBs.voidDB2voidvoidvoidSQL Server-stylevoidDB2 before 11voidvoidvoidvoidxmlagg()Standard xmlagg() functionvoidSQL Server xmlagg() functionvoidStandard xmlcomment() functionvoidSQL Server xmlcomment() functionvoidStandard xmlconcat() functionvoidH2 xmlconcat() functionvoidSQL Server xmlconcat() functionvoidStandard xmlelement() functionvoidH2 xmlelement() functionvoidSQL Server xmlelement() functionvoidStandard xmlexists() functionvoidDB2 10.5 xmlexists() functionvoidSQL Server xmlexists() functionvoidStandard xmlforest() functionvoidH2 xmlforest() functionvoidSQL Server xmlforest() functionvoidxmlpi()Standard xmlpi() functionvoidxmlpi_h2()H2 xmlpi() functionvoidSQL Server xmlpi() functionvoidDB2 xmlquery() functionvoidDB2 10.5 xmlquery() functionvoidOracle xmlquery() functionvoidPostgreSQL xmlquery() functionvoidSQL Server xmlquery() functionvoidxmltable(boolean supportsParametersInDefault) Standard xmltable() functionvoidDB2 xmltable() functionvoidHANA xmltable() functionvoidOracle xmltable() functionvoidSQL Server xmltable() functionvoidSybase ASE xmltable() functionvoidNote 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 and Informix it means
var_samp()(the unbiased estimator) - On Oracle, DB2, MySQL it means
var_pop()(the MLE)
- On Postgres and Informix 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 -
varPop_sumCount
public void varPop_sumCount() -
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() -
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_PARAMETERfor 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)- See Also:
-
format_dateFormat
public void format_dateFormat()MySQL-style (also Ingres)- See Also:
-
format_toVarchar
public void format_toVarchar()HANA's name for to_char() is still Oracle-style- See Also:
-
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_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(boolean supportsStandard) 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(boolean supportsJsonTable) 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
-