zoukankan      html  css  js  c++  java
  • MySql字符串函数使用技巧

    1、从左开始截取字符串 
    left(str, length) 
    说明:left(被截取字段,截取长度) 
    例:select left(content,200) as abstract from my_content_t 


    2、从右开始截取字符串 
    right(str, length) 
    说明:right(被截取字段,截取长度) 
    例:select right(content,200) as abstract from my_content_t 


    3、截取字符串 
    substring(str, pos) 
    substring(str, pos, length) 
    说明:substring(被截取字段,从第几位开始截取) 
    substring(被截取字段,从第几位开始截取,截取长度) 
    例:select substring(content,5) as abstract from my_content_t 
    select substring(content,5,200) as abstract from my_content_t 
    (注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度) 


    4、按关键字截取字符串 
    substring_index(str,delim,count) 
    说明:substring_index(被截取字段,关键字,关键字出现的次数) 
    例:select substring_index("blog.jb51.net","。",2) as abstract from my_content_t 
    结果:blog.jb51 
    (注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束) 

    5、INSTR(str,substr) ;LOCATE(str,substr); POSITION(str IN substr) 

       返回子串substr在字符串str中的第一个出现的位置。这与有2个参数形式的LOCATE()相同,除了参数被颠倒。 

    6、REVERSE(str)

      反转str; 

    7、TRUNCATE(X,D);

    返回被舍去至小数点后D位的数字X。若D 的值为 0, 则结果不带有小数点或不带有小数部分。可以将D设为负数,若要截去(归零) X小数点左起第D位开始后面所有低位的值.
    今天正好有个需求,查询标准表中某2个字段的百分比....

    示例:

    select TRUNCATE(progress/video_duration,2) as percent  from mime_study_logs ;
    video_duration字段即使(这里的分母为0或null),返回的也是null,而不用php计算验证除法的合法性

    这里计算了两个数相除,2表示结果小数点后面的位数,比如:1/3 =0.33

  • 相关阅读:
    最近重感冒完全不知道知己在记什么

    倾尽一生
    学习笔记,函数
    唯美句
    02 mysql 基础二 (进阶)
    01 mysql 基础一 (进阶)
    16 正则表达式
    15 迭代器、生成器、模块和包
    14 异常
  • 原文地址:https://www.cnblogs.com/tangshiguang/p/6741027.html
Copyright © 2011-2022 走看看