Mysql 截取保留小数点后两位内容
比例:字段内容为12.34567.我想截取精确到小数点后两位12.34。但是小数点前面位数不固定。可以用下面方法实现。 
INSTR(str,substr)
返回子串substr  在字符串str  中的第一个出现的位置。这与有2个参数形式的LOCATE()  相同,除了参数被颠倒。 mysql> select INSTR('foobarbar', 'bar');
        -> 4
mysql> select INSTR('xbar', 'foobar');
        -> 0
这函数是多字节可靠的。
LOCATE(substr,str,pos)  返回子串substr  在字符串str  第一个出现的位置,从位置pos  开
始。如果substr  不是在str  里面,返回0  。 mysql> select LOCATE('bar', 'foobarbar',5);
        -> 7
这函数是多字节可靠的。
SUBSTRING(str,pos,len) 
        截取filed字段从第m个字符开始的长度为n的字符串;
方法一:
[java] view plaincopy
01.SELECT SUBSTRING(`password`,1,INSTR(password,'.')+2) AS p 
02.FROM `user` WHERE id = 8 
方法二:
[java] view plaincopy
01.SELECT SUBSTRING(`password`,1,LOCATE('.',password)+2) AS p 
02.FROM `user` WHERE id = 8 
相关介绍:
[java] view plaincopy
01.在工作中碰到一个Mysql字段更新问题 
02.在custom表中有一个tariffurl的值中有如下情况: 
03.uploadfiles ariff2007031172720306698.jpg以及uploadfiles ariff2007031172720306690.jpg;uploadfiles ariff2007031172720306691.jpg形式 
04.要更改成uploadfiles/tariff/200703/1172720306698.jpg及 uploadfiles/tariff/200703/1172720306690.jpg;uploadfiles/tariff200703/1172720306691.jpg 形式 
05.可以综合利用substring函数和cancat函数来实现,步骤如下: 
06.1、 update custom set tariffurl=concat('uploadfiles/tariff/200703/',substring(tariffurl,24)) where tariffurl like 'uploadfiles ariff200703%' 
07.2、update custom set tariffurl=concat(substring(tariffurl,1,55),'/tariff/200703/',substring(tariffurl,68)) 
08.where tariffurl like 'uploadfiles/tariff/200703/%' and tariffurl like'%;uploadfiles %' 
09.substring(filed,m):截取filed字段从第m个字符开始到结束的字符串; 
10.substring(filed,m,n):截取filed字段从第m个字符开始的长度为n的字符串; 
字符串长度截取11.cancat(string1,sting2,……):将string1、string2, ……字符串连接起来。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。