无区别的函数 ¶
序号 | MySQL函数名 | KingbaseES函数名 | 功能简要说明 |
|---|---|---|---|
数值函数 | |||
1 | ABS(X) | ABS(n) | 绝对值 |
2 | ACOS(X) | acos(n) | 反余弦 |
3 | ASIN(X) | asin(n) | 反正弦 |
4 | ATAN(X) | atan(n) | 反正切 |
5 | ATAN2(Y,X) | atan2(n1, n2) | 返回两个变量的反正切 |
6 | CEIL(X), CEILING(X) | ceil(n), ceiling(n) | 返回大于或等于 n 的最小整数 |
7 | COS(X) | cos(n) | 返回余弦 |
8 | COT(X) | cot(n) | 返回余切 |
9 | DIV(X) | div(n) | 整除 |
10 | DEGREES(X) | degrees(dp) | 把弧度转化为角度 |
11 | EXP(X) | exp(n) | 返回自然常数 |
12 | FLOOR(X) | floor(n) | 返回等于或小于 n 的最大整数 |
13 | LN(X) | ln(n) | 返回参数的自然对数 |
14 | LOG(X), LOG(B,X) | log(n) log(n2 numeric, n1 numeric) | 返回指定数字,指定底数的对数 |
15 | LOG10(X) | log10(n) | 返回指定数字以10为底的对数 |
16 | MOD(N,M) | mod(y,x) | 取余数 |
17 | PI() | pi() | 返回π值 |
18 | POW(X,Y), POWER(X,Y) | power(a, b) | 计算a的b次幂并返回结果 |
19 | RADIANS(X) | radians(dp) | 把角度 dp 转为弧度。 |
20 | RAND([N]) | rand([seed]), random() | 生成范围 0.0 <= x < 1.0 中的随机值 |
21 | ROUND(X,D) | round(v numeric, s int) | 将数字四舍五入到指定的小数位数 |
21 | SIGN(X) | sign(n) | 返回指定数字的符号 |
23 | SIN(X) | sin(n) | 正弦值 |
24 | SQRT(X) | sqrt(n) | 返回数字的平方根 |
25 | TAN(X) | tan(n) | 正切值 |
字符函数 | |||
1 | BIT_LENGTH(str) | bit_length(string) | 返回字符串位长度 |
2 | CHAR_LENGTH(str), CHARACTER_LENGTH(str) | char_length(string), character_length(str) | 返回字符串的字符数 |
3 | CONCAT(str1,str2,...) | concat(str ”any” [, str ”any” [, ...] ]) | 拼接多个字符串 |
4 | CONCAT_WS(separator,str1,str2,...) | concat_ws(sep text,str ” any” [,str ” any” [, ...]]) | 通过指定分隔符来拼接多个字符串 |
5 | FIND_IN_SET(str,strlist) | find_in_set(str,strlist) | 返回第二个参数中第一个参数的索引(位置) |
6 | FROM_BASE64(str) | from_base64(string) | 解码Base64编码的字符串, 并以二进制字符串的形式返回结果 |
7 | LCASE(str) | lcase(string) | 将字符串转为小写 |
8 | LOCATE(substr,str), LOCATE(substr,str,pos) | locate(substr, str), locate(substr, str, pos) | 返回子字符串在字符串中第一次出现的位置索引, 位置计数的起始值为 1。 |
7 | LOWER(str) | lower(string) | 将字符串转为小写 |
8 | LPAD(str,len,padstr) | lpad(string text,length int [, fill text]) | 在字符串左侧填充指定的字符串,使其达到指定的长度 |
9 | MID(str,pos,len) | mid(str, pos, count) | 返回一个字符串指定位置指定长度的子串 |
10 | OCTET_LENGTH(str) | octet_length(string) | 返回字符串以字节为单位的长度 |
11 | POSITION(substr IN str) | position(substring in string) | 返回指定子串在指定字符串第一次出现的位置 |
12 | REGEXP_LIKE(expr, pat[, match_type]) | regexp_like( source, pattern [,match_param]) | 判断一个字符串是否和一个正则表达式匹配 |
13 | REGEXP_REPLACE(expr, pat, repl [, pos[, occurrence[, match_type ]]]) | regexp_replace (source, pattern, replacement [, position [, occurrence [, flag ]]]) | 将匹配正则表达式模式的子串替换为新文本 |
14 | REPEAT(str,count) | repeat(string text, number int) | 指定字符串重复指定次数并返回新串 |
15 | REPLACE(str,from_str,to_str) | replace(string text, from text, to text) | 将字符串中出现的所有子串替换为新的子串 |
16 | RIGHT(str,len) | right(string,length) | 返回字符串最右边指定数量的字符子串 |
17 | RPAD(str,len,padstr) | rpad(string text, length int [, fill text]) | 在字符串右侧填充指定的子串,使其达到指的长度 |
18 | SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len) | substring(string [from int] [for int]) | 从一个字符串中返回指定位置指定长度的子串 |
19 | SUBSTRING_INDEX(str,delim,count) | substring_index(str,delimiter,count) | 返回字符串中指定间隔符出现在指定次数之前的子串 |
20 | TO_BASE64(str) | to_base64(string) | 返回字符串以base-64形式编码的字符串表示 |
21 | TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str) | trim([ { { LEADING | TRAILING | BOTH } [ trim_character ] | trim_character } FROM ] trim_source ) | 删除字符串前导和尾随的指定字符或者空格 |
22 | UCASE(str) | ucase(string) | 将字符串转为大写 |
23 | UPPER(str) | upper(string) | 将支付串转换为大写 |
时间日期函数 | |||
1 | ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days) | adddate(n1,n2) | 指定日期/时间加上指定的时间间隔 |
2 | ADDTIME(expr1,expr2) | addtime(n1,n2) | 指定时间上加上指定的时间间隔 |
3 | CONVERT_TZ(dt,from_tz,to_tz) | convert_tz(dt,from_tz,to_tz) | 将一个时区的时候转换为另一个时区的时间 |
4 | CURDATE() | curdate() | 返回当前系统的日期 |
5 | CURRENT_DATE() | current_date() | 返回当前系统的日期 |
6 | CURTIME() | curtime() | 返回当前系统的时间 |
7 | DATE_ADD(date,INTERVAL expr unit), | date_add(n,interval) | 从日期时间上加上指定的时间间隔 |
8 | DATE_SUB(date,INTERVAL expr unit) | date_sub(n,interval) | 从日期时间上减去指定的时间间隔 |
9 | DATEDIFF(expr1,expr2) | datediff(n1,n2) | 返回两个日期值之间的天数 |
10 | DAY(date) | day(n) | 返回指定日期的月份的日期值 |
11 | DAYNAME(date) | dayname(n) | 返回指定日期的星期名称 |
12 | DAYOFMONTH(date) | dayofmonth(n) | 返回指定日期的月份的日期 |
13 | DAYOFWEEK(date) | dayofweek(n) | 返回给定日期的星期索引 |
14 | DAYOFYEAR(date) | dayofyear(n) | 返回给定日期所在当前年份中的第几天 |
15 | FORMAT_PICO_TIME(n) | format_pico_time(n) | 将皮秒值转换为带单位指示符的文本字符串 |
16 | FROM_DAYS(N) | from_days(n) | 将天数值转换为日期 |
17 | FROM_UNIXTIME(unix_timestamp [ , format]) | from_unixtime(n [, 'format']) | 将unix时间戳转化为以当前会话时区表示的日期时间值 |
18 | GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'}) | get_format({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'}) | 返回指定的国家地区时间输出格式 |
19 | HOUR(time) | hour(n) | 返回给定时间的小时部分 |
20 | LAST_DAY(date) | last_day(date) | 计算日期所在月份的最后一天 |
21 | MAKEDATE(year,dayofyear) | makedate(year,dayofyear) | 返回指定年份第 n 天的日期值 |
22 | MAKETIME(hour,minute,second) | maketime(hour,minute,second) | 返回由参数指定组成的时间值 |
23 | MICROSECOND(expr) | microsecond(n) | 返回指定时间的微秒值 |
24 | MINUTE(time) | minute(n) | 返回指定时间的分钟值 |
25 | MONTH(date) | month(n) | 返回指日期的月份值 |
26 | MONTHNAME(date) | monthname(n) | 返回指日期的月份名称 |
27 | PERIOD_ADD(P,N) | period_add(p,n) | 指定年月上加上指定的月份数 |
28 | PERIOD_DIFF(P1,P2) | period_diff(p,n) | 计算两个年月值相差的月份数 |
29 | QUARTER(date) | quarter(n) | 返回日期的季度数 |
30 | SECOND(time) | second(n) | 返回指定日期时间的秒值 |
31 | SEC_TO_TIME(seconds) | sec_to_time(n) | 将秒数转换为时分秒格式并返回 |
32 | SUBTIME(expr1,expr2) | subtime(n1,n2) | 指定时间上减去指的的时间间隔 |
33 | TIMEDIFF(expr1,expr2) | timediff(n1,n2) | 计算两个时间的差值 |
34 | TIMESTAMPADD(unit,interval,datetime_expr) | timestampadd('unit',interval,n) | 将指定时间间隔加到日期时间值上 |
35 | TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) | timestampdiff('unit',n1,n2) | 返回两个日期时间的时间间隔 |
36 | TIME_FORMAT(time,format) | time_format(time,format) | 按照指定的格式格式化时间 |
37 | TIME_TO_SEC(time) | time_to_sec(n) | 将输入的时间转换为秒数 |
38 | TO_DAYS(date) | to_days(n) | 将指定日期转换为距离0年的天数 |
39 | TO_SECONDS(expr) | to_seconds(n) | 返回日期时间值 n 距离 0 年的秒数 |
40 | UTC_DATE() | utc_date() | 获取当前服务器的 utc 日期(即格林威治标准日期) |
41 | UTC_TIME([fsp]) | utc_time([n]) | 获取当前服务器的 utc 时间(即格林威治标准时间) |
42 | UTC_TIMESTAMP([fsp]) | utc_timestamp([n]) | 获取当前服务器的utc日期时间(即格林威治标准日期时间) |
43 | WEEK(date[,mode]) | week(n [, mode]) | 返回日期位于当年的第几周 |
44 | WEEKDAY(date) | weekday(n) | 返回指定日期的星期索引 |
45 | WEEKOFYEAR(date) | weekofyear(n) | 返回指定日期的所在周数值 |
46 | YEAR(date) | year(n) | 提取日期中的年份值 |
47 | YEARWEEK(date[,mode]) | yearweek(n [, mode]) | 返回指定日期的年份与日期所在当年周数值 |
聚集函数 | |||
1 | AVG(expr) | avg(expression) | 计算平均值 |
2 | BIT_AND(expr) | bit_and(expression) | 按位与运算 |
3 | BIT_OR(expr) | bit_or(expression) | 按位或运算 |
4 | COUNT(expr) | count(expression) | 返回查询行数 |
5 | GROUP_CONCAT(expr) | group_concat(expression) | 将分组中指定列或表达式连接组成新的字符串 |
6 | MAX(expr) | max(expression) | 最大值 |
7 | MIN(expr) | min(expression) | 最小值 |
8 | STDDEV(expr) | stddev(expression) | 总体标准值 |
9 | STDDEV_POP(expr) | stddev_pop(expression) | 总体标准差 |
10 | STDDEV_SAMP(expr) | stddev_samp(expression) | 样本标准差 |
11 | SUM(expr) | sum(expression) | 总和 |
12 | VAR_POP(expr) | var_pop(expression) | 总体方差 |
13 | VAR_SAMP(expr) | var_samp(expression) | 样本方差 |
14 | VARIANCE(expr) | variance(expression) | 总体方差 |
窗口函数 | |||
1 | CUME_DIST() | cume_dist() | 返回当前行的累积分布 |
2 | DENSE_RANK() | dense_rank() | 返回所在分区内的排名 |
3 | FIRST_VALUE(expr) | first_value(expression) | 返回当前关联窗口的第一行 |
4 | LAG(expr [, N[, default]]) | lag(value anyelement[, offset integer [,default anyelement ]]) | 返回当前行所在分区内当前行之前指定行之内的值 |
5 | LAST_VALUE(expr) | last_value(expression) | 返回当前关联窗口的最后一行 |
6 | LEAD(expr [, N[, default]]) | lead(value anyelement[, offset integer [,default anyelement ]]) | 返回当前行所在分区内当前行后之指定行之内的值 |
7 | NTH_VALUE(expr, N) | nth_value(value any, nth integer) | 从当前行关联窗口的指定一行中返回评估值 |
8 | NTILE(N) | ntile(num_buckets integer) | 将当前行所在分区内的所有行尽可能平均分成指定数量的区间 |
9 | PERCENT_RANK() | percent_rank() | 返回当前行所在分区内的相对排名 |
10 | RANK() | rank() | 返回当前行所在分区内的排名 |
11 | ROW_NUMBER() | row_number() | 返回当前行所在分区内的序号 |




