zoukankan      html  css  js  c++  java
  • mysql常用函数总结

    一、数学函数

    abs(x) 返回x的绝对值
    bin(x) 返回x的二进制(oct返回八进制,hex返回十六进制)
    ceiling(x) / ceil(x) 返回不小于x的最小整数值
    floor(x)   返回不大于x的最大整数值,返回值转化为一个BIGINT
    greatest(x1,x2,...,xn)  返回集合中最大的值
    least(x1,x2,...,xn)  返回集合中最小的值 
    ln(x) 返回x的自然对数 
    log10(x) 返回x的以10为底的对数
    log(x,y)  返回x的以y为底的对数 
    mod(x,y)  返回x/y的模(余数)
    pi()   返回pi的值(圆周率) 
    rand() / rand(x)  返回0到1内的随机值,可以通过提供一个参数(种子)使rand()随机数生成器生成一个指定值  
    round(x,y)  返回参数x的四舍五入的有y位小数的值
    sign(x)  返回代表数字x的符号的值
    sqrt(x)   返回非负数的平方根,传如负数返回NULL 
    truncate(x,y)  返回数字x截短为y位小数的结果 
    pow(x,y) /power(x,y)  返回x的y次方 
    exp(x)  返回值e(自然对数的底)的x次方 
    radians(x)   将参数x由角度转换为弧度 
    degrees(x)  将参数x由弧度转换为角度
    sin(x) / asin(x)   返回x的正弦和反正弦
    cos(x) / acos(x)  返回x的余弦和反余弦 
    tan(x) / atan(x) / cot(x)  返回x的正切、反正切,余切

    二、聚合函数(常用于group by从句的select查询中)

    avg(col)                          返回指定列的平均值                                                                                            
    count(col) 返回指定列中非null值的个数
    min(col) 返回指定列的最小值
    max(col)   返回指定列的最大值
    sum(col)  返回指定列的所有值之和
    group_concat(col) 返回由属于一组的列值连接组合而成的结果

    三、字符串函数

    length(str) 返回一个字符串的字节长度,中文utf8一个汉字3个字节
    bit_length(str) 返回一个字符串的比特长度
    char_length(str) 返回一个字符串的字符长度
    concat(s1,s2...sn) 将s1,s2...sn连成一个字符串。如果参数包含NULL,则返回值为NULL
    concat(sep,s1,s2...sn) 将s1,s2...sn连成一个字符串,并用sep分割
    insert(str,x,y,instr) 将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
    lower(str) / lcase(str) 返回将字符串str中所有字符改变为小写后的结果
    upper(str) / ucaes(str) 返回将字符串str中所有字符转变为大写后的结果
    left(str,x) / right(str,x) 返回字符串str中最左边 / 最右边 的x个字符
    lpad(str1,len,str2) / rpad(str1,len,str2) 返回字符串str1,其左边 / 右边 由str2填充至len长度。如果str长度大于len返回值缩短至len长度 
    ltrim(str) / rtrim(str) / trim(str) 删除字符串左侧 / 右侧 / 两侧 的空格 
    trim(str1 from str2) 删除字符串str2两侧所有的子字符串str1
    repeat(str,x)  返回由x个str组成的重复字符串 
    space(n) 返回由n个空格组成的字符串
    replace(str,s1,s2)  将字符串str中的s1子串替换成s2
    strcmp(str1,str2) 比较两个字符串的大小,一模一样返回0。按照分类次序,第一个小于第二个返回-1,其它返回1 
    substring(str,x,len) / mid(str,x,len) 返回一个将str字符串从第x个字串,截取len长度后的子串
    locate(str1,str) / position(str1 in str) / instr(str,str1)   返回子串str1在str字符串中的位置
    reverse(str)  将字符串str反转
    elt(n,s1,s2...sn) 返回第n个字符串,如果n大于长度返回NULL 
    field(s,s1,s2...sn) 返回字符串s在列表s1..sn中第一次出现的位置,如果找不到返回0
    find_in_set(str,list) 分析逗号分隔的list列表,如果发现str,返回str在list中的位置
    ascii(char) 返回字符的ascii码值
    quote(str) 用反斜杠转义str中的单引号

    四、时间函数

    curdate() / currnet_date()  +0 返回当前的日期 年-月-日 +0表示不带横线,不写默认有横线
    curtime() / current_time() 返回当前的时间 时:分:秒
    now() / sysdate() / localtime() / current_timestamp() 返回当前的时间 年--秒
    unix_timestamp(date) 返回一个unix时间戳
    from_timestamp(date) 把一个时间戳转换成普通格式的时间
    utc_date() / utc_time()  返回UTC的日期和时间
    month(date) /monthname(date) 返回date中的月份 / 英文月份
    dayname(date) / dayofweek(date) / weekday(date) 返回日期对应的工作日的英文名称 / 阿拉伯数字(1是周日) / (0是周一) 
    week(date) / weekofyear(date) 返回date是一年中的第几周
    dayofyear(date) / dayofmonth(date) 返回日期是一年的第几天 / 一月的第几天
    year(date) / quarter(date) / hour(date) /minute(date)/second(date) 返回知道时间的年 / 季度 / 小时 / 分钟 / 秒
    extract / 例 select extract(year_month '2018-12-12 12:12:12') 提取日期和时间值
    time_to_sec 将时间值(HH:MM:SS)转换成秒
    date_format(date,format) 将时间和日期格式化
    date_add() / adddate() 日期计算
    date_sub() / subdate() 日期计算
    add_time()  日期计算
    subtime() 日期计算
    date_diff() 日期计算

     五、控制流函数

    if(expr,v1,v2) 如果expr成立,返回v1,不成立,返回v2
    ifnull(v1,v2) 如果v1不是空,返回v1,否则返回v2
    nullif(v1,v2) 如果v1=v2,返回null,否则返回v1
    case when[test1] then [result1]...else [default] end                                 如果testn是真,则返回resultn,否则返回default        
    case [test] when[val1] then [result]...else [default]end 如果test和valn相等,则返回resultn,否则返回default              

     六、加密函数

    password(str) 返回字符串str的加密版本,这个加密过程是不可逆转的,和unix密码加密过程使用不同的算法
    md5(str) 计算字符串的md5校验和
    encode(str,key) 使用key作为密钥加密字符串str,调用encode()的结果是一个二进制字符串,它以blob类型存储
    decode(str,key) 使用key作为密钥解密加密字符串str
    sha(str) 计算字符串str的安全散列算法(sha)校验和
    aes_encrypt(str,key) 返回用密钥key对字符串str利用高级加密标准算法加密后的结果,调用aes_encrypt的结果是一个二进制字符串,以blob类型存储
    aes_decrypt(str,key)  返回用密钥key对字符串str利用高级加密标准算法解密后的结果
    encrypt(str,salt) 使用unixcrypt()函数,用关键词salt(一个可以惟一确定口令的字符串,就像钥匙一样)加密字符串str
    1 select encrypt('root','salt');
    2 select encode('xufeng','key');
    3 select decode(encode('xufeng','key'),'key');  #加解密放在一起
    4 select aes_encrypt('root','key');
    5 select aes_decrypt(aes_encrypt('root','key'),'key');
    6 select md5('123456');
    7 select sha('123456');

    七、系统信息函数

    version() 返回mysql服务器的版本
    connection_id() 查看当前用户的连接数
    database() / schema()  返回当前的数据库名
    user() / system_user() 返回当前登陆的用户名
    charset(str) 返回字符串的字符集
    found_rows()  返回最后一个select查询进行检索的总行数

     八、其它函数

    format(x,y) 格式化函数
    cast() 改变数据类型的函数
    convert() 修改字符集
    benchmark(count,expr) 重复执行expr函数
  • 相关阅读:
    好文转载—做到更好之前,你需要做得好
    Java中UUID的实现
    利用jQuery UI制作包含文本内容的slider
    JavaScript的陷阱 By 三七
    举例解读云计算三种服务模式SaaS、PaaS和IaaS及其之间关系
    用户管理系统接口文档
    PL/SQL 中文乱码解决方案
    百万级PHP网站架构工具箱
    双缓冲方法解决屏幕刷新闪烁的问题
    JavaScript绘图
  • 原文地址:https://www.cnblogs.com/jkin/p/10113407.html
Copyright © 2011-2022 走看看