mysql怎样截取小数点后两位_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的字符串;

方法一:

SELECT SUBSTRING(`password`,1,INSTR(password,'.')+2) AS p

FROM `user` WHERE id = 8

方法二:

SELECT SUBSTRING(`password`,1,LOCATE('.',password)+2) AS p

FROM `user` WHERE id = 8

相关介绍:

在工作中碰到一个Mysql字段更新问题

在custom表中有一个tariffurl的值中有如下情况:

uploadfiles ariff2007031172720306698.jpg以及uploadfiles ariff2007031172720306690.jpg;uploadfiles ariff2007031172720306691.jpg形式

要更改成uploadfiles/tariff/200703/1172720306698.jpg及 uploadfiles/tariff/200703/1172720306690.jpg;uploadfiles/tariff200703/1172720306691.jpg 形式

可以综合利用substring函数和cancat函数来实现,步骤如下:

1、 update custom set tariffurl=concat('uploadfiles/tariff/200703/',substring(tariffurl,24)) where tariffurl like 'uploadfiles ariff200703%'

2、update custom set tariffurl=concat(substring(tariffurl,1,55),'/tariff/200703/',substring(tariffurl,68))

where tariffurl like 'uploadfiles/tariff/200703/%' and tariffurl like'%;uploadfiles %'

substring(filed,m):截取filed字段从第m个字符开始到结束的字符串;

substring(filed,m,n):截取filed字段从第m个字符开始的长度为n的字符串;

cancat(string1,sting2,……):将string1、string2, ……字符串连接起来。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

波波区块链

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值