mysql 字符串转数据丢失精度,mysql转换丢失精度,mysql CAST 丢失精度
2017-09-12 17:00
447 查看
mysql 字符串转数据丢失精度,mysql转换丢失精度,mysql CAST 丢失精度
===============================
©Copyright 蕃薯耀 2017年9月12日
http://www.cnblogs.com/fanshuyao/
一、问题描述:
当数据库保存数字的类型为字符串时,但是如果需要比较大小或者排序,mysql是根据字符串的方式比较的,不是转换成数字再比较,所以在mysql进行类似操作时,需要对该字段的数据进行类型转换。
二、解决方案
使用CAST函数进行转换,如下:
将字符串“12”转换成数字类型12
Sql代码
SELECT CAST('12' AS int)
将字符串12.5转换成数字类型12,注意:此处DECIMAL没有设置精度,小数点后面会丢失。
Sql代码
SELECT CAST('12.5' AS DECIMAL)
将字符串12.5转换成数字类型12.5,这个和上面的就是增加了精度转换
Sql代码
SELECT CAST('12.5' AS DECIMAL(9,2))
DECIMAL :精度和小数位数的默认值分别是18与0,即不声明的话,小数点后面会丢失。
===============================
©Copyright 蕃薯耀 2017年9月12日
http://www.cnblogs.com/fanshuyao/
===============================
©Copyright 蕃薯耀 2017年9月12日
http://www.cnblogs.com/fanshuyao/
一、问题描述:
当数据库保存数字的类型为字符串时,但是如果需要比较大小或者排序,mysql是根据字符串的方式比较的,不是转换成数字再比较,所以在mysql进行类似操作时,需要对该字段的数据进行类型转换。
二、解决方案
使用CAST函数进行转换,如下:
将字符串“12”转换成数字类型12
Sql代码
SELECT CAST('12' AS int)
将字符串12.5转换成数字类型12,注意:此处DECIMAL没有设置精度,小数点后面会丢失。
Sql代码
SELECT CAST('12.5' AS DECIMAL)
将字符串12.5转换成数字类型12.5,这个和上面的就是增加了精度转换
Sql代码
SELECT CAST('12.5' AS DECIMAL(9,2))
DECIMAL :精度和小数位数的默认值分别是18与0,即不声明的话,小数点后面会丢失。
===============================
©Copyright 蕃薯耀 2017年9月12日
http://www.cnblogs.com/fanshuyao/
相关文章推荐
- mysql 字符串转数据丢失精度,mysql转换丢失精度,mysql CAST 丢失精度
- 字符串转换为JSON对象,数据精度丢失
- MYSQL 字符串转换成数字并保留精度
- mysql 字符串数值计算 精度丢失
- 关于java中long类型的数据转换json传到前台时丢失精度问题的解决办法
- 数字类型、字符串类型常用转换,数据精度问题解决
- mysql将逗号隔开的字符串转换为表数据
- java 字符串编码转换(注意:编码转换不一定是完全可逆的,可能存在数据丢失情况)
- 字符串和字节数组互相转换,转换后数据不丢失
- Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
- 数据类型转字符串及CString与其他数据类型的转换
- 在C#中将二进制数据转换成BASE64字符串的方法
- MySQL数据丢失情况分析
- Java将其他数据类型转换成JSON字符串格式
- Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
- 指针、字符串与整型数据类型的转换
- 在MYSQL中把一个字符串转换成日期
- JSON: Python Objects与String之间转换【json.dumps把python任意数据类型转换成字符串,json.loads把字符串转换为unicode编码】
- char数组模拟atoi函数的功能(将字符串数据转换为整型)
- 将一张表里的数据转换为json字符串