public class SqlFunctionUtils extends Object
NOTE: Before you add functions here, check if Calcite provides it in
org.apache.calcite.runtime.SqlFunctions. Furthermore, make sure
to implement the function efficiently. Sometimes it makes sense to create a
org.apache.flink.table.codegen.calls.CallGenerator instead to avoid
massive object creation and reuse instances.
| 构造器和说明 |
|---|
SqlFunctionUtils() |
| 限定符和类型 | 方法和说明 |
|---|---|
static org.apache.flink.table.data.DecimalData |
abs(org.apache.flink.table.data.DecimalData a) |
static double |
acos(org.apache.flink.table.data.DecimalData a) |
static int |
addMonths(int date,
int m) |
static long |
addMonths(long timestamp,
int m)
TODO: remove addMonths and subtractMonths if CALCITE-3881 fixed.
|
static double |
asin(org.apache.flink.table.data.DecimalData a) |
static double |
atan(org.apache.flink.table.data.DecimalData a) |
static double |
atan2(org.apache.flink.table.data.DecimalData y,
org.apache.flink.table.data.DecimalData x) |
static Byte |
bitAnd(Byte a,
Byte b) |
static Integer |
bitAnd(Integer a,
Integer b) |
static Long |
bitAnd(Long a,
Long b) |
static Short |
bitAnd(Short a,
Short b) |
static Byte |
bitNot(Byte a) |
static Integer |
bitNot(Integer a) |
static Long |
bitNot(Long a) |
static Short |
bitNot(Short a) |
static Byte |
bitOr(Byte a,
Byte b) |
static Integer |
bitOr(Integer a,
Integer b) |
static Long |
bitOr(Long a,
Long b) |
static Short |
bitOr(Short a,
Short b) |
static Byte |
bitXor(Byte a,
Byte b) |
static Integer |
bitXor(Integer a,
Integer b) |
static Long |
bitXor(Long a,
Long b) |
static Short |
bitXor(Short a,
Short b) |
static org.apache.flink.table.data.DecimalData |
ceil(org.apache.flink.table.data.DecimalData a) |
static String |
chr(long chr) |
static double |
cos(org.apache.flink.table.data.DecimalData a) |
static double |
cosh(org.apache.flink.table.data.DecimalData x) |
static double |
cot(org.apache.flink.table.data.DecimalData a) |
static double |
degrees(org.apache.flink.table.data.DecimalData angrad) |
static int |
divideInt(int a,
int b) |
static double |
exp(org.apache.flink.table.data.DecimalData d) |
static org.apache.flink.table.data.DecimalData |
floor(org.apache.flink.table.data.DecimalData a) |
static org.apache.flink.table.data.binary.BinaryStringData |
fromBase64(org.apache.flink.table.data.binary.BinaryStringData bs) |
static org.apache.flink.table.data.binary.BinaryStringData |
fromBase64(byte[] bytes) |
static String |
hash(String algorithm,
String str)
Calculate the hash value of a given string.
|
static String |
hash(String algorithm,
String str,
String charsetName)
Calculate the hash value of a given string.
|
static Integer |
hashCode(String str) |
static String |
hex(long x)
Returns the hex string of a long argument.
|
static String |
hex(String x)
Returns the hex string of a string argument.
|
static int |
instr(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData subString,
int startPosition,
int nthAppearance) |
static boolean |
isAlpha(Object obj) |
static boolean |
isDecimal(Object obj) |
static boolean |
isDigit(Object obj) |
static String |
jsonValue(String jsonString,
String pathString) |
static org.apache.flink.table.data.binary.BinaryStringData |
keyValue(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData pairSeparator,
org.apache.flink.table.data.binary.BinaryStringData kvSeparator,
org.apache.flink.table.data.binary.BinaryStringData keyName)
Parse string as key-value string and return the value matches key name.
|
static double |
log(org.apache.flink.table.data.DecimalData x) |
static double |
log(org.apache.flink.table.data.DecimalData base,
org.apache.flink.table.data.DecimalData x) |
static double |
log(org.apache.flink.table.data.DecimalData base,
double x) |
static double |
log(double x)
Returns the natural logarithm of "x".
|
static double |
log(double base,
org.apache.flink.table.data.DecimalData x) |
static double |
log(double base,
double x)
Returns the logarithm of "x" with base "base".
|
static double |
log10(org.apache.flink.table.data.DecimalData x) |
static double |
log10(double x) |
static double |
log2(org.apache.flink.table.data.DecimalData x) |
static double |
log2(double x)
Returns the logarithm of "a" with base 2.
|
static String |
lpad(String base,
int len,
String pad)
Returns the string str left-padded with the string pad to a length of len characters.
|
static String |
overlay(String s,
String r,
long start) |
static String |
overlay(String s,
String r,
long start,
long length) |
static String |
parseUrl(String urlStr,
String partToExtract)
Parse url and return various components of the URL.
|
static String |
parseUrl(String urlStr,
String partToExtract,
String key)
Parse url and return various parameter of the URL.
|
static int |
position(org.apache.flink.table.data.binary.BinaryStringData seek,
org.apache.flink.table.data.binary.BinaryStringData s) |
static int |
position(org.apache.flink.table.data.binary.BinaryStringData seek,
org.apache.flink.table.data.binary.BinaryStringData s,
int from) |
static double |
power(org.apache.flink.table.data.DecimalData base,
org.apache.flink.table.data.DecimalData exponent) |
static double |
power(org.apache.flink.table.data.DecimalData base,
double exponent) |
static double |
power(double base,
org.apache.flink.table.data.DecimalData exponent) |
static double |
radians(org.apache.flink.table.data.DecimalData angdeg) |
static Boolean |
regExp(String s,
String regex) |
static String |
regexpExtract(String str,
String regex)
Returns the first string extracted with a specified regular expression.
|
static String |
regexpExtract(String str,
String regex,
int extractIndex)
Returns a string extracted with a specified regular expression and a regex match group index.
|
static String |
regexpExtract(String str,
String regex,
long extractIndex) |
static String |
regexpReplace(String str,
String regex,
String replacement)
Returns a string resulting from replacing all substrings
that match the regular expression with replacement.
|
static String |
repeat(String str,
int repeat)
Returns a string that repeats the base string n times.
|
static String |
replace(String str,
String oldStr,
String replacement)
Replaces all the old strings with the replacement string.
|
static String |
rpad(String base,
int len,
String pad)
Returns the string str right-padded with the string pad to a length of len characters.
|
static org.apache.flink.table.data.DecimalData |
sign(org.apache.flink.table.data.DecimalData b0) |
static double |
sin(org.apache.flink.table.data.DecimalData a) |
static double |
sinh(org.apache.flink.table.data.DecimalData a) |
static String |
splitIndex(String str,
int character,
int index)
Split target string with custom separator and pick the index-th(start with 0) result.
|
static String |
splitIndex(String str,
String separator,
int index)
Split target string with custom separator and pick the index-th(start with 0) result.
|
static BigDecimal |
sround(BigDecimal b0)
SQL
ROUND operator applied to BigDecimal values. |
static BigDecimal |
sround(BigDecimal b0,
int b1)
SQL
ROUND operator applied to BigDecimal values. |
static org.apache.flink.table.data.DecimalData |
sround(org.apache.flink.table.data.DecimalData b0)
SQL
ROUND operator applied to DecimalData values. |
static org.apache.flink.table.data.DecimalData |
sround(org.apache.flink.table.data.DecimalData b0,
int b1)
SQL
ROUND operator applied to DecimalData values. |
static double |
sround(double b0)
SQL
ROUND operator applied to double values. |
static double |
sround(double b0,
int b1)
SQL
ROUND operator applied to double values. |
static int |
sround(int b0)
SQL
ROUND operator applied to int values. |
static int |
sround(int b0,
int b1)
SQL
ROUND operator applied to int values. |
static long |
sround(long b0)
SQL
ROUND operator applied to long values. |
static long |
sround(long b0,
int b1)
SQL
ROUND operator applied to long values. |
static Map<String,String> |
strToMap(String text)
Creates a map by parsing text.
|
static Map<String,String> |
strToMap(String text,
String listDelimiter,
String keyValueDelimiter)
Creates a map by parsing text.
|
static org.apache.flink.table.data.DecimalData |
struncate(org.apache.flink.table.data.DecimalData b0)
SQL
TRUNCATE operator applied to BigDecimal values. |
static org.apache.flink.table.data.DecimalData |
struncate(org.apache.flink.table.data.DecimalData b0,
int b1) |
static float |
struncate(float b0)
SQL
TRUNCATE operator applied to double values. |
static float |
struncate(float b0,
int b1) |
static String |
subString(String str,
long start) |
static String |
subString(String str,
long start,
long len) |
static int |
subtractMonths(int date0,
int date1) |
static int |
subtractMonths(long t0,
long t1) |
static double |
tan(org.apache.flink.table.data.DecimalData a) |
static double |
tanh(org.apache.flink.table.data.DecimalData a)
Calculates the hyperbolic tangent of a big decimal number.
|
static String |
toBase64(org.apache.flink.table.data.binary.BinaryStringData bs) |
static String |
toBase64(byte[] bytes) |
static String |
uuid() |
static String |
uuid(byte[] b) |
public static double exp(org.apache.flink.table.data.DecimalData d)
public static double power(double base,
org.apache.flink.table.data.DecimalData exponent)
public static double power(org.apache.flink.table.data.DecimalData base,
org.apache.flink.table.data.DecimalData exponent)
public static double power(org.apache.flink.table.data.DecimalData base,
double exponent)
public static double cosh(org.apache.flink.table.data.DecimalData x)
public static double acos(org.apache.flink.table.data.DecimalData a)
public static double asin(org.apache.flink.table.data.DecimalData a)
public static double atan(org.apache.flink.table.data.DecimalData a)
public static double atan2(org.apache.flink.table.data.DecimalData y,
org.apache.flink.table.data.DecimalData x)
public static double sin(org.apache.flink.table.data.DecimalData a)
public static double sinh(org.apache.flink.table.data.DecimalData a)
public static double cos(org.apache.flink.table.data.DecimalData a)
public static double tan(org.apache.flink.table.data.DecimalData a)
public static double tanh(org.apache.flink.table.data.DecimalData a)
public static double cot(org.apache.flink.table.data.DecimalData a)
public static double degrees(org.apache.flink.table.data.DecimalData angrad)
public static double radians(org.apache.flink.table.data.DecimalData angdeg)
public static org.apache.flink.table.data.DecimalData abs(org.apache.flink.table.data.DecimalData a)
public static org.apache.flink.table.data.DecimalData floor(org.apache.flink.table.data.DecimalData a)
public static org.apache.flink.table.data.DecimalData ceil(org.apache.flink.table.data.DecimalData a)
public static double log(double x)
public static double log(org.apache.flink.table.data.DecimalData x)
public static double log(double base,
double x)
public static double log(double base,
org.apache.flink.table.data.DecimalData x)
public static double log(org.apache.flink.table.data.DecimalData base,
double x)
public static double log(org.apache.flink.table.data.DecimalData base,
org.apache.flink.table.data.DecimalData x)
public static double log2(double x)
public static double log2(org.apache.flink.table.data.DecimalData x)
public static double log10(double x)
public static double log10(org.apache.flink.table.data.DecimalData x)
public static String lpad(String base, int len, String pad)
public static String rpad(String base, int len, String pad)
public static String repeat(String str, int repeat)
public static String replace(String str, String oldStr, String replacement)
public static String splitIndex(String str, String separator, int index)
str - target string.separator - custom separator.index - index of the result which you want.public static String splitIndex(String str, int character, int index)
str - target string.character - int value of the separator characterindex - index of the result which you want.public static String regexpReplace(String str, String regex, String replacement)
public static String regexpExtract(String str, String regex, int extractIndex)
public static String regexpExtract(String str, String regex)
public static org.apache.flink.table.data.binary.BinaryStringData keyValue(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData pairSeparator,
org.apache.flink.table.data.binary.BinaryStringData kvSeparator,
org.apache.flink.table.data.binary.BinaryStringData keyName)
str - target string.pairSeparator - separator between key-value tuple.kvSeparator - separator between key and value.keyName - name of the key whose value you want return.public static String hash(String algorithm, String str)
algorithm - message digest algorithm.str - string to hash.public static String hash(String algorithm, String str, String charsetName)
algorithm - message digest algorithm.str - string to hash.charsetName - charset of string.public static String parseUrl(String urlStr, String partToExtract)
urlStr - URL string.partToExtract - determines which components would return.
accept values:
HOST,PATH,QUERY,REF,
PROTOCOL,FILE,AUTHORITY,USERINFOpublic static String parseUrl(String urlStr, String partToExtract, String key)
urlStr - URL string.partToExtract - must be QUERY, or return null.key - parameter name.public static int divideInt(int a,
int b)
public static String chr(long chr)
public static int position(org.apache.flink.table.data.binary.BinaryStringData seek,
org.apache.flink.table.data.binary.BinaryStringData s)
public static int position(org.apache.flink.table.data.binary.BinaryStringData seek,
org.apache.flink.table.data.binary.BinaryStringData s,
int from)
public static int instr(org.apache.flink.table.data.binary.BinaryStringData str,
org.apache.flink.table.data.binary.BinaryStringData subString,
int startPosition,
int nthAppearance)
public static String hex(long x)
public static Map<String,String> strToMap(String text)
text - the input textpublic static Map<String,String> strToMap(String text, String listDelimiter, String keyValueDelimiter)
text - the input textlistDelimiter - the delimiter to separates pairskeyValueDelimiter - the delimiter to separates key and valuepublic static int sround(int b0)
ROUND operator applied to int values.public static int sround(int b0,
int b1)
ROUND operator applied to int values.public static long sround(long b0)
ROUND operator applied to long values.public static long sround(long b0,
int b1)
ROUND operator applied to long values.public static BigDecimal sround(BigDecimal b0)
ROUND operator applied to BigDecimal values.public static BigDecimal sround(BigDecimal b0, int b1)
ROUND operator applied to BigDecimal values.public static double sround(double b0)
ROUND operator applied to double values.public static double sround(double b0,
int b1)
ROUND operator applied to double values.public static org.apache.flink.table.data.DecimalData sround(org.apache.flink.table.data.DecimalData b0)
ROUND operator applied to DecimalData values.public static org.apache.flink.table.data.DecimalData sround(org.apache.flink.table.data.DecimalData b0,
int b1)
ROUND operator applied to DecimalData values.public static org.apache.flink.table.data.DecimalData sign(org.apache.flink.table.data.DecimalData b0)
public static boolean isDecimal(Object obj)
public static boolean isDigit(Object obj)
public static boolean isAlpha(Object obj)
public static String toBase64(org.apache.flink.table.data.binary.BinaryStringData bs)
public static String toBase64(byte[] bytes)
public static org.apache.flink.table.data.binary.BinaryStringData fromBase64(org.apache.flink.table.data.binary.BinaryStringData bs)
public static org.apache.flink.table.data.binary.BinaryStringData fromBase64(byte[] bytes)
public static String uuid()
public static String uuid(byte[] b)
public static org.apache.flink.table.data.DecimalData struncate(org.apache.flink.table.data.DecimalData b0)
TRUNCATE operator applied to BigDecimal values.public static org.apache.flink.table.data.DecimalData struncate(org.apache.flink.table.data.DecimalData b0,
int b1)
public static float struncate(float b0)
TRUNCATE operator applied to double values.public static float struncate(float b0,
int b1)
public static long addMonths(long timestamp,
int m)
public static int addMonths(int date,
int m)
public static int subtractMonths(int date0,
int date1)
public static int subtractMonths(long t0,
long t1)
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.