解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1976字,纯文字阅读大概需要3分钟。
内容图文
![解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题](/upload/InfoBanner/zyjiaocheng/1218/6a3138d0e9254969a958bea960e79200.jpg)
解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题
select CAST(u.amount AS CHAR) from user u
CAST(u.amount AS CHAR) ;u.amount: Decimal类型的字段
这样查询出来的数据就不会是科学计数法了,但是查出来的数据类型就转成了字符串类型了
验证
准备数据库数据
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for amount
-- ----------------------------
DROP TABLE IF EXISTS `amount`;
CREATE TABLE `amount` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`amount` decimal(65, 15) NOT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of amount
-- ----------------------------
INSERT INTO `amount` VALUES (1, ‘desire‘, 14.025415550000000);
INSERT INTO `amount` VALUES (2, ‘ronin‘, 0.253698741550000);
INSERT INTO `amount` VALUES (3, ‘tom‘, 0.000000000000005);
INSERT INTO `amount` VALUES (4, ‘aaa‘, 0.000000000000785);
SET FOREIGN_KEY_CHECKS = 1;
Python查询
1、连接数据库,创建连接
import pymysql
con = pymysql.connect(host=‘localhost‘,
user="root",
password="123456",
port=3306,
charset=‘utf8‘)
cur = con.cursor()
2、使用 * 查询所有的数据
sql = "SELECT * FROM desire.amount a"
cur.execute(sql)
users = cur.fetchall()
print(users)
2.1、打印结果
((1, ‘desire‘, Decimal(‘14.025415550000000‘)), (2, ‘ronin‘, Decimal(‘0.253698741550000‘)), (3, ‘tom‘, Decimal(‘5E-15‘)), (4, ‘aaa‘, Decimal(‘7.85E-13‘)))
2.2 分析结果:从上面的打印结果可以看到,如果小数位过长,打印出来的数据就会变成科学计数法的形式打印,这样的数据看起来不是很清晰。
3、使用CAST() SQL函数,把Decimal类型的字段转成字符串显示
sql = "SELECT a.id,a.name,CAST(a.amount AS CHAR) FROM desire.amount a"
cur.execute(sql)
users = cur.fetchall()
print(users)
3.1 打印结果
((1, ‘desire‘, ‘14.025415550000000‘), (2, ‘ronin‘, ‘0.253698741550000‘), (3, ‘tom‘, ‘0.000000000000005‘), (4, ‘aaa‘, ‘0.000000000000785‘))
3.2 分析结果:这样打印出来的数据,就跟数据库存放的一致了,数据比对起来也是正确的,很清晰
4、经过这样处理,比对数据就显得稍微清晰一点,不会混杂着科学计数法的数据了。
原文:https://www.cnblogs.com/desireyang/p/13194648.html
内容总结
以上是互联网集市为您收集整理的解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题全部内容,希望文章能够帮你解决解决python查询数据库字段为decimal类型的数据结果为科学计数法的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。