您的位置:首页 > 数据库 > MySQL

MySql字符串函数使用技巧

2017-04-20 21:49 232 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: