1、日期函数
返回值类型 | 名称 | 描述 |
string | from_unixtime(int unixtime) | 将时间戳(unix epoch秒数)转换为日期时间字符串,例如from_unixtime(0)="1970-01-01 00:00:00" |
bigint | unix_timestamp() | 获得当前时间戳 |
bigint | unix_timestamp(string date) | 获得date表示的时间戳 |
bigint | to_date(string timestamp) | 返回日期字符串,例如to_date("1970-01-01 00:00:00") = "1970-01-01" |
string | year(string date) | 返回年,例如year("1970-01-01 00:00:00") = 1970,year("1970-01-01") = 1970 |
int | month(string date) |
|
int | day(string date) dayofmonth(date) |
|
int | hour(string date) |
|
int | minute(string date) |
|
int | second(string date) |
|
int | weekofyear(string date) |
|
int | datediff(string enddate, string startdate) | 返回enddate和startdate的天数的差,例如datediff('2009-03-01', '2009-02-27') = 2 |
int | date_add(string startdate, int days) | 加days天数到startdate: date_add('2008-12-31', 1) = '2009-01-01' |
int | date_sub(string startdate, int days) | 减days天数到startdate: date_sub('2008-12-31', 1) = '2008-12-30' |
返回值类型 | 名称 | 描述 |
- | if(boolean testCondition, T valueTrue, T valueFalseOrNull) | 当testCondition为真时返回valueTrue,testCondition为假或NULL时返回valueFalseOrNull |
- | COALESCE(T v1, T v2, ...) | 返回列表中的第一个非空元素,如果列表元素都为空则返回NULL |
- | CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END | a = b,返回c;a = d,返回e;否则返回f |
- | CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END | a 为真,返回b;c为真,返回d;否则e |
3、字符串函数
名称 | 描述 | |
Int | length(string A) | 返回字符串长度 |
String | reverse(string A) | 反转字符串 |
String | concat(string A, string B...) | 合并字符串,例如concat('foo', 'bar')='foobar'。注意这一函数可以接受任意个数的参数 |
String | substr(string A, int start) substring(string A, int start) | 返回子串,例如substr('foobar', 4)='bar' |
String | substr(string A, int start, int len) substring(string A, int start, int len) | 返回限定长度的子串,例如substr('foobar', 4, 1)='b' |
String | upper(string A) ucase(string A) | 转换为大写 |
String | lower(string A) lcase(string A) | 转换为小写 |
String | trim(string A) |
|
String | ltrim(string A) |
|
String | rtrim(string A) |
|
String | regexp_replace(string A, string B, string C) | Returns the string resulting from replacing all substrings in B that match the Java regular expression syntax(See Java regular expressions syntax) with C e.g. regexp_replace("foobar", "oo|ar", "") returns 'fb.' Note that some care is necessary in using predefined character classes: using '\s' as the second argument will match the letter s; '\\s' is necessary to match whitespace, etc. |
String | regexp_extract(string subject, string pattern, int intex) | 返回使用正则表达式提取的子字串。例如,regexp_extract('foothebar', 'foo(.*?)(bar)', 2)='bar'。注意使用特殊字符的规则:使用'\s'代表的是字符's';空白字符需要使用'\\s',以此类推。 |
String | parse_url(string urlString, string partToExtract) | 解析URL字符串,partToExtract的可选项有:HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO。 |
例如, | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'HOST')='facebook.com' | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'PATH')='/path/p1.php' | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY')='query=1',可以指定key来返回特定参数,key的格式是QUERY:<KEY_NAME>,例如QUERY:k1 | ||
parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','query')='1'可以用来取出外部渲染参数key对应的value值 | ||
parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','field')='2' | ||
parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'REF')='Ref' | ||
parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'PROTOCOL')='http' | ||
String | get_json_object(string json_string, string path) | 解析json字符串。若源json字符串非法则返回NULL。path参数支持JSONPath的一个子集,包括以下标记: |
$: Root object | ||
[]: Subscript operator for array | ||
&: Wildcard for [] | ||
.: Child operator | ||
String | space(int n) | 返回一个包含n个空格的字符串 |
String | repeat(string str, int n) | 重复str字符串n遍 |
String | ascii(string str) | 返回str中第一个字符的ascii码 |
String | lpad(string str, int len, string pad) | 左端补齐str到长度为len。补齐的字符串由pad指定。 |
String | rpad(string str, int len, string pad) | 右端补齐str到长度为len。补齐的字符串由pad指定。 |
Array | split(string str, string pat) | 返回使用pat作为正则表达式分割str字符串的列表。例如,split('foobar', 'o')[2] = 'bar'。?不是很明白这个结果 |
Int | find_in_set(string str, string strList) | Returns the first occurance of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. e.g. find_in_set('ab', 'abc,b,ab,c,def') returns 3 |
返回值类型 | 名称 | 描述 |
Int | length(string A) | 返回字符串长度 |
String | reverse(string A) | 反转字符串 |
String | concat(string A, string B...) | 合并字符串,例如concat('foo', 'bar')='foobar'。注意这一函数可以接受任意个数的参数 |
String | substr(string A, int start) substring(string A, int start) | 返回子串,例如substr('foobar', 4)='bar' |
String | substr(string A, int start, int len) substring(string A, int start, int len) | 返回限定长度的子串,例如substr('foobar', 4, 1)='b' |
String | upper(string A) ucase(string A) | 转换为大写 |
String | lower(string A) lcase(string A) | 转换为小写 |
String | trim(string A) |
|
String | ltrim(string A) |
|
String | rtrim(string A) |
|
String | regexp_replace(string A, string B, string C) | Returns the string resulting from replacing all substrings in B that match the Java regular expression syntax(See Java regular expressions syntax) with C e.g. regexp_replace("foobar", "oo|ar", "") returns 'fb.' Note that some care is necessary in using predefined character classes: using '\s' as the second argument will match the letter s; '\\s' is necessary to match whitespace, etc. |
String | regexp_extract(string subject, string pattern, int intex) | 返回使用正则表达式提取的子字串。例如,regexp_extract('foothebar', 'foo(.*?)(bar)', 2)='bar'。注意使用特殊字符的规则:使用'\s'代表的是字符's';空白字符需要使用'\\s',以此类推。 |
String | parse_url(string urlString, string partToExtract) | 解析URL字符串,partToExtract的可选项有:HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO。 |
例如, | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'HOST')='facebook.com' | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'PATH')='/path/p1.php' | ||
parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY')='query=1',可以指定key来返回特定参数,key的格式是QUERY:<KEY_NAME>,例如QUERY:k1 | ||
parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','query')='1'可以用来取出外部渲染参数key对应的value值 | ||
parse_url('http://facebook.com/path/p1.php?query=1&field=2','QUERY','field')='2' | ||
parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'REF')='Ref' | ||
parse_url('http://facebook.com/path/p1.php?query=1#Ref', 'PROTOCOL')='http' | ||
String | get_json_object(string json_string, string path) | 解析json字符串。若源json字符串非法则返回NULL。path参数支持JSONPath的一个子集,包括以下标记: |
$: Root object | ||
[]: Subscript operator for array | ||
&: Wildcard for [] | ||
.: Child operator | ||
String | space(int n) | 返回一个包含n个空格的字符串 |
String | repeat(string str, int n) | 重复str字符串n遍 |
String | ascii(string str) | 返回str中第一个字符的ascii码 |
String | lpad(string str, int len, string pad) | 左端补齐str到长度为len。补齐的字符串由pad指定。 |
String | rpad(string str, int len, string pad) | 右端补齐str到长度为len。补齐的字符串由pad指 |
Array | split(string str, string pat) | 返回使用pat作为正则表达式分割str字符串的列表。例如,split('foobar', 'o')[2] = 'bar'。?不是很明白这个结果 |
Int | find_in_set(string str, string strList) | Returns the first occurance of str in strList where strList is a comma-delimited string. Returns null if either argument is null. Returns 0 if the first argument contains any commas. e.g. find_in_set('ab', 'abc,b,ab,c,def') returns 3 |