/*
* Copyright 2004-2019 H2 Group. Multiple-Licensed under the MPL 2.0,
* and the EPL 1.0 (http://h2database.com/html/license.html).
* Initial Developer: H2 Group
*/
package org.h2.expression.analysis;
A type of a window function.
/**
* A type of a window function.
*/
public enum WindowFunctionType {
The type for ROW_NUMBER() window function.
/**
* The type for ROW_NUMBER() window function.
*/
ROW_NUMBER,
The type for RANK() window function.
/**
* The type for RANK() window function.
*/
RANK,
The type for DENSE_RANK() window function.
/**
* The type for DENSE_RANK() window function.
*/
DENSE_RANK,
The type for PERCENT_RANK() window function.
/**
* The type for PERCENT_RANK() window function.
*/
PERCENT_RANK,
The type for CUME_DIST() window function.
/**
* The type for CUME_DIST() window function.
*/
CUME_DIST,
The type for NTILE() window function.
/**
* The type for NTILE() window function.
*/
NTILE,
The type for LEAD() window function.
/**
* The type for LEAD() window function.
*/
LEAD,
The type for LAG() window function.
/**
* The type for LAG() window function.
*/
LAG,
The type for FIRST_VALUE() window function.
/**
* The type for FIRST_VALUE() window function.
*/
FIRST_VALUE,
The type for LAST_VALUE() window function.
/**
* The type for LAST_VALUE() window function.
*/
LAST_VALUE,
The type for NTH_VALUE() window function.
/**
* The type for NTH_VALUE() window function.
*/
NTH_VALUE,
The type for RATIO_TO_REPORT() window function.
/**
* The type for RATIO_TO_REPORT() window function.
*/
RATIO_TO_REPORT,
;
Returns the type of window function with the specified name, or null.
Params: - name –
name of a window function
Returns: the type of window function, or null.
/**
* Returns the type of window function with the specified name, or null.
*
* @param name
* name of a window function
* @return the type of window function, or null.
*/
public static WindowFunctionType get(String name) {
switch (name) {
case "ROW_NUMBER":
return ROW_NUMBER;
case "RANK":
return RANK;
case "DENSE_RANK":
return DENSE_RANK;
case "PERCENT_RANK":
return PERCENT_RANK;
case "CUME_DIST":
return CUME_DIST;
case "NTILE":
return NTILE;
case "LEAD":
return LEAD;
case "LAG":
return LAG;
case "FIRST_VALUE":
return FIRST_VALUE;
case "LAST_VALUE":
return LAST_VALUE;
case "NTH_VALUE":
return NTH_VALUE;
case "RATIO_TO_REPORT":
return RATIO_TO_REPORT;
default:
return null;
}
}
Returns SQL representation.
See Also: Returns: SQL representation.
/**
* Returns SQL representation.
*
* @return SQL representation.
* @see org.h2.expression.Expression#getSQL(boolean)
*/
public String getSQL() {
return name();
}
}