MySQL—语法总结(3) 函数

# 信息函数
VERSION()             版本信息
CONNECTION_ID()         服务器的连接数
DATABASE()、SCHEMA       当前数据库名
LAST_INSERT_ID()         最后插入记录的 ID 号
USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER     当前用户

# 加密函数
MD5        信息摘要算法
PASSWORD()    密码算法

# 日期时间函数
NOW()        当前日期时间
CURDATE()        当前日期
CURTIME()      当前时间
DATA_ADD()      日期变化(增或减)
DATEDIFF()       日期差值
DATE_FORMAT()     日期格式化

# 字符函数
space(N)                           返回由 N 个空格构成的字符串
length(str)                         返回字符串的存储长度
charjength(str)                       返回字符串的字符个数
lower(column|str)                        将字符串全部转换为小写字母
upper(column|str)                       将字符串全部转换为大写字母
repeat(str, count)                        将字符串 str 重复 count 次后返回
reverse(str)                         将字符串 str 反转后返回
concat(column|strl, column|str2...)                将多个字符串首尾相连后返回
concat_ws(sep,strl,str2...)                            将多个字符串指定连接符sep的首尾相连后返回
left(str, len) ; right(str, len)                    返回最左(右)边的 len长度的子串

substr(str,pos[,len])                     从字符串中的指定位置pos开始取一个字串返回
insert(str;substr)                       从字符串 str 中返回子串 substr 第一次出现的位置
lpad(str,len,padstr) , rpad(str,len,padstr)              在 str 的左(右)边填充给定的字串 padstr 到指定的长度 len , 返回填充后的字符串
trim([{both | leading 丨 trailing} [remstr] 什 om] si           从源字符串 str 中去掉两端、前缀或后缀,字符 remstr, 并返回
replace(str, from_str, to_str                     在字符串 str 中查找所有的子串 from_str, 用 to_str 替换返回
Itrim(str) , rtrim(str)                        去掉字符串的左边或右边的空格(左对齐、右对齐)
format(X, D [,丨oca丨e])                     以格式 "#,##,###.##" 格式化数字X
strcmp(exprl,expr2)                       如果两个字符串是一样的则返回 0 ; 如果第一个小于第二个则返回 -1 ; 否则返回 1
charCN,... [useing charset.name])                  将每个参数 N 解释为整数(字符的编码),返回对应的字符,构成的字符串

# 比较函数
[NOT]  BETWEEN ... AND ...     (不) 在...范围内
[NOT]  IN()            (不) 在列出值范围内
IS [NOT] NULL           (非) 空

# 数值函数
ABS(x)       返回 x 的绝对值
CEIL(x)      返回大于 x 的最大整数值
FLOOR(x)    返回小于 x 的最大整数值
MOD(x,y)     返回 x / y 的模
RAND ()       返回0 到 1 内的随机值
ROUND(x,y)     返回参数 x 的四舍五入的有 y 位小数的值,y 默认为0
TRUNCATE(x,y)  返回数字 x 截断为 y 位小数的结果,y 取复数表示从小数点左边截断

# 聚合函数
SUM()           返回某个列之和
AVG()         返回某列的平均值
MAX()           返回某列的最大值
MIN()          返回某列的最小值
COUNT()         返回某列的行数

# 自定义函数(user-defined function UDF)

创建UDF:
DELIMITER ?                # 如果函数体只有一条语句, begin和end可以省略, 同时DELIMITER也可以省略
CREATE FUNCTION func_name(param1 ...,param2...)
RETURNS datetype
BEGIN
函数体
RETURN ...
END
?                             # DELIMITER的符号                                   
DELIMITER ;

调用UDF:
SELECT func_name(parameter_value,...)

删除UDF:
DROP FUNCTION func_name

 

# 信息函数
VERSION()              版本信息
CONNECTION_ID()           服务器的连接数
DATABASE()、SCHEMA          当前数据库名
LAST_INSERT_ID()          最后插入记录的 ID 号
USER()、SYSTEM_USER()、SESSION_USER()、CURRENT_USER()、CURRENT_USER     当前用户
 
# 加密函数
MD5        信息摘要算法
PASSWORD()    密码算法
 
# 日期时间函数
NOW()          当前日期时间
CURDATE()        当前日期
CURTIME()       当前时间
DATA_ADD()       日期变化(增或减)
DATEDIFF()       日期差值
DATE_FORMAT()      日期格式化
 
# 字符函数
space(N)                           返回由 N 个空格构成的字符串
length(str)                        返回字符串的存储长度
charjength(str)                      返回字符串的字符个数
lower(column|str)                     将字符串全部转换为小写字母
upper(column|str)                     将字符串全部转换为大写字母
repeat(str, count)                     将字符串 str 重复 count 次后返回
reverse(str)                        将字符串 str 反转后返回
concat(column|strl, column|str2...)           将多个字符串首尾相连后返回
concat_ws(sep,strl,str2...)                    将多个字符串指定连接符sep的首尾相连后返回
left(str, len) ; right(str, len)             返回最左(右)边的 len长度的子串

substr(str,pos[,len])                       从字符串中的指定位置pos开始取一个字串返回
insert(str;substr)                         从字符串 str 中返回子串 substr 第一次出现的位置
lpad(str,len,padstr) , rpad(str,len,padstr)           在 str 的左(右)边填充给定的字串 padstr 到指定的长度 len , 返回填充后的字符串
trim([{both|leading|trailing} [remstr]from] str           从源字符串 str 中去掉两端、前缀或后缀,字符 remstr, 并返回
replace(str, from_str, to_str                   在字符串 str 中查找所有的子串 from_str, 用 to_str 替换返回
Itrim(str) , rtrim(str)                      去掉字符串的左边或右边的空格(左对齐、右对齐)
format(X, D [,丨oca丨e])                       以格式 "#,##,###.##" 格式化数字X
strcmp(exprl,expr2)                          如果两个字符串是一样的则返回 0 ; 如果第一个小于第二个则返回 -1 ; 否则返回 1
charCN,... [useing charset.name])                 将每个参数 N 解释为整数(字符的编码),返回对应的字符,构成的字符串
 
# 比较函数
[NOT]  BETWEEN ... AND ...    (不) 在...范围内
[NOT]  IN()             (不) 在列出值范围内
IS [NOT] NULL            (非) 空
 
# 数值函数
ABS(x)       返回 x 的绝对值
CEIL(x)      返回大于 x 的最大整数值
FLOOR(x)      返回小于 x 的最大整数值
MOD(x,y)      返回 x / y 的模
RAND ()       返回0 到 1 内的随机值
ROUND(x,y)     返回参数 x 的四舍五入的有 y 位小数的值,y 默认为0
TRUNCATE(x,y)   返回数字 x 截断为 y 位小数的结果,y 取复数表示从小数点左边截断
 
# 聚合函数
SUM()           返回某个列之和
AVG()          返回某列的平均值
MAX()           返回某列的最大值
MIN()          返回某列的最小值
COUNT()          返回某列的行数
 
# 自定义函数(user-defined function UDF)
创建UDF:
DELIMITER ?                # 如果函数体只有一条语句, begin和end可以省略, 同时DELIMITER也可以省略
CREATE FUNCTION func_name(param1 ...,param2...) 
RETURNS datetype
BEGIN
函数体
RETURN ...
END
?                             # DELIMITER的符号                                   
DELIMITER ;
 
调用UDF:
SELECT func_name(parameter_value,...)

删除UDF:
DROP FUNCTION func_name

  

猜你喜欢

转载自www.cnblogs.com/Lengjie/p/9475591.html