Class Selects

java.lang.Object
net.sf.basedb.core.query.Selects

public class Selects extends Object
A factory class to create select expressions.
Version:
2.0
Author:
Nicklas
Last modified
$Date: 2024-10-30 13:32:46 +0100 (Wed, 30 Oct 2024) $
  • Field Details

    • ALIAS_REGEXP

      public static final Pattern ALIAS_REGEXP
      An alias can only contain the characters a-z, A-Z or 0-9.
  • Constructor Details

    • Selects

      public Selects()
  • Method Details

    • expression

      public static final Select expression(Expression e1, String alias) throws InvalidDataException
      Same as expression(e1, alias, false).
      Parameters:
      e1 - The expression to select. Null is not allowed
      alias - The alias to give the expression. Only characters a-z, A-Z and 0-9 are allowed. Null is allowed.
      Returns:
      A selection query element
      Throws:
      InvalidDataException - If the required parameter is null or if illegal characters is used in alias
      See Also:
    • expression

      public static final Select expression(Expression e1, String alias, boolean useInDistinctCount) throws InvalidDataException
      Create a selection from an expression, optionally giving it an alias. The alias can be used when getting the result to find the column index. See SqlResultIterator.getIndex(String).
      SELECT <expression> AS <alias>
      FROM ...
              

      The useInDistinctCount parameter affects the Query.count(DbControl) method, if the Query.setDistinct(boolean) has been set to true. In this case only expressions which has been created for use with the distinct function are used in the selection list:

      SELECT COUNT(DISTINCT <expression>)
      FROM ...
              
      Parameters:
      e1 - The expression to select
      alias - The alias to give the expression
      useInDistinctCount - If the expression should be used when counting distinct values
      Returns:
      A selection query element
      Throws:
      InvalidDataException - If the expression is null or if the alias contains invalid characters