码迷,mamicode.com
首页 > 数据库 > 详细

MySql字符串函数使用技巧

时间:2017-04-20 23:05:53      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:string   truncate   ...   表示   position   mysq   ati   开始   mime   

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

MySql字符串函数使用技巧

标签:string   truncate   ...   表示   position   mysq   ati   开始   mime   

原文地址:http://www.cnblogs.com/tangshiguang/p/6741027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!