Package org.h2.mode

Class FunctionsMySQL

All Implemented Interfaces:
ExpressionWithVariableParameters, NamedExpression, HasSQL, Typed

public final class FunctionsMySQL extends ModeFunction
This class implements some MySQL-specific functions.
  • Field Details

    • UNIX_TIMESTAMP

      private static final int UNIX_TIMESTAMP
      See Also:
    • FROM_UNIXTIME

      private static final int FROM_UNIXTIME
      See Also:
    • DATE

      private static final int DATE
      See Also:
    • LAST_INSERT_ID

      private static final int LAST_INSERT_ID
      See Also:
    • FUNCTIONS

      private static final HashMap<String,FunctionInfo> FUNCTIONS
    • DATE_TIME_FORMAT

      private static final String DATE_TIME_FORMAT
      The date format of a MySQL formatted date/time. Example: 2008-09-25 08:40:59
      See Also:
    • FORMAT_REPLACE

      private static final String[] FORMAT_REPLACE
      Format replacements for MySQL date formats. See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
  • Constructor Details

  • Method Details

    • unixTimestamp

      public static int unixTimestamp(SessionLocal session, Value value)
      Get the seconds since 1970-01-01 00:00:00 UTC of the given timestamp. See https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_unix-timestamp
      Parameters:
      session - the session
      value - the timestamp
      Returns:
      the timestamp in seconds since EPOCH
    • fromUnixTime

      public static String fromUnixTime(int seconds)
      See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime
      Parameters:
      seconds - The current timestamp in seconds.
      Returns:
      a formatted date/time String in the format "yyyy-MM-dd HH:mm:ss".
    • fromUnixTime

      public static String fromUnixTime(int seconds, String format)
      See https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_from-unixtime
      Parameters:
      seconds - The current timestamp in seconds.
      format - The format of the date/time String to return.
      Returns:
      a formatted date/time String in the given format.
    • convertToSimpleDateFormat

      private static String convertToSimpleDateFormat(String format)
    • getFunction

      public static FunctionsMySQL getFunction(String upperName)
      Returns mode-specific function for a given name, or null.
      Parameters:
      upperName - the upper-case name of a function
      Returns:
      the function with specified name or null
    • checkParameterCount

      protected void checkParameterCount(int len)
      Description copied from class: ModeFunction
      Check if the parameter count is correct.
      Overrides:
      checkParameterCount in class ModeFunction
      Parameters:
      len - the number of parameters set
    • optimize

      public Expression optimize(SessionLocal session)
      Description copied from class: Expression
      Try to optimize the expression.
      Specified by:
      optimize in class Expression
      Parameters:
      session - the session
      Returns:
      the optimized expression
    • getValue

      public Value getValue(SessionLocal session)
      Description copied from class: Expression
      Return the resulting value for the current row.
      Overrides:
      getValue in class FunctionN
      Parameters:
      session - the session
      Returns:
      the result