当前位置:首页 > 日记 > 正文

MySQL中浮点型传输字符问题的详细解决方案

MySQL中浮点型传输字符问题的详细解决方案
前言

本文主要介绍mysql浮点数到字符类型时遇到的一个问题,并与大家分享,供大家参考学习。这里没有什么要说的。让我们详细介绍一下。

一个问题的描述

今天,我遇到了一个数据刷的需求,它是修改产品的重量(字段类型是浮动的)。修改后的产品的重量,我们需要记录在日志表(字段类型为varchar)。表结构如下:
临时电刷数据表:
创建表(` temp_170830 `
` ID ` int(10)符号的非空auto_increment评论主键ID,
` goods_sn ` varchar(255)不为空的默认的评论产品代码,
` goods_weight `浮(9,4)不为空的默认'0.0000'comment产品重量,
` actual_weight `浮(9,4)不为空的默认'0.0000'comment实际重量,
` new_actual_weight `浮(9,4)不为空的默认'0.0000'comment新实际重量,
` create_user ` varchar(30)不为空的默认评论的创造者,
主键(id),
关键` idx_goods_sn `(` goods_sn `)
InnoDB引擎= = 8192)auto_increment默认的字符集utf8评论= 'temporary刷量表;
日志表:
创建表(` log_weight `
` ID ` int(10)符号的非空auto_increment评论主键ID,
` goods_sn ` varchar(50)不为空的默认的评论产品代码,
` which_col ` varchar(100)不为空的默认的评论改进的领域,
` old_value ` varchar(50)不为空的默认'0.00'comment更新预值,
` new_value ` varchar(50)不为空的默认'0.00'comment '更新后的价值,
` update_user ` varchar(100)不为空的默认评论的创造者,
` update_time `日期不为空的默认current_timestamp更新current_timestamp,
` wh_update_time `时间零违约current_timestamp更新current_timestamp评论记录修改时间,
主键(id),
关键` idx_goods_sn `(` goods_sn `),
关键` idx_update_user `(` update_user `),
关键` wh_update_time `(` wh_update_time `)
InnoDB引擎= = 14601620)auto_increment默认的字符集utf8评论= 'weight修改日志;
如上表所示,我需要刷actual_weight的temp_170830表new_actual_weight领域进入old_value的log_weight表new_value领域,分别。SQL语句如下所示:
插入log_weight(goods_sn,which_col,old_value,new_value,update_user)
选择goods_sn,'actual_weight ',actual_weight,new_actual_weight,create_user从temp_170830;
我以为我已经在这里完成工作了。毕竟,我只是插入了一些日志记录。后来,为了简单地检查,我发现数据有问题。
临时表数据捕获:
日志表数据捕获:
对比后可以发现,日志数据更多的是没有道理的。小数点的位置,突然冒出来,我想以后,可能原来的浮点数据也不例外,变成varchar当放回那些了,暂时不确定,补充后续的决心,然后找到一个临时varchar Concat方法,调整如下:
插入log_weight(goods_sn,which_col,old_value,new_value,update_user)
选择goods_sn,'actual_weight,concat(actual_weight,' '),concat(new_actual_weight,),create_user从temp_170830;
成功解决日志记录问题。

摘要如下:
1当记录价格和权重数字字段时,尽量不要使用浮点类型!!!很多浮点型(如浮点型)不能被判断为相等!!!)最好的方法是使用整数。当你想显示十进制数时,把它读出来并把它分成相应的数字。比如99.98元,你应该存9998元。当您阅读时,使用9998/100显示它。
2当把varchar在浮动,你应该首先将浮动到concat函数varchar,然后将其存储在varchar字段。

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。如果有任何疑问,您可以留言交流,谢谢您的支持。

相关文章

如何在OfficeExcel中隐藏数值

如何在OfficeExcel中隐藏数值

数值,如何在,电脑软件,OfficeExcel,核心提示:1。隐藏行和列当表太大,当显示在屏幕上,你可以隐藏的行和列,隐藏的行(列)的具体步骤如下:(1)选择行(列)隐藏。(2)单击格式行(列)隐藏菜单命令,然后选定行(列… 1。隐藏行和列 当工作表太大不能在屏幕上显示时,可以…

SmartFTP是smartftp.exe-过程

SmartFTP是smartftp.exe-过程

过程,电脑软件,SmartFTP,smartftp,exe,综述:简要介绍了smartftp.exe - SmartFTP过程 进程文件:SmartFTP或者smartftp.exe 进程名称:SmartFTP 过程类别:安全风险的过程 英文描述: smartftp.exe是文件传输协议的工具,它允许定期和不定期的转移使…

如何进行固定在表的标题

如何进行固定在表的标题

标题,电脑软件,有时我们在Excel中计算数据时,我们希望保留标题的一些固定名称,然后向下滚动数据查看数据。我们希望修复上面的成绩单和名字,语言,数学和其他科目,然后滚动看到的名字和分数如下。具体操作如下: 首先,我们将鼠标定位到所需的固定窗…

scrtkfg是scrtkfg.exe-使用

scrtkfg是scrtkfg.exe-使用

电脑软件,scrtkfg,exe,评论:scrtkfg.exe - scrtkfg过程的详细解释 进程文件:scrtkfg或scrtkfg.exe 进程名称:win32.rbot木马变种 过程类别:安全风险的过程 英文描述: scrtkfg.exeis过程被注册为win32.rbot木马,这是通过。病毒通过电子邮件和互…

对rownum和rowidOracle查询语句之

对rownum和rowidOracle查询语句之

查询语句,差异,电脑软件,rownum,rowidOracle,本文主要介绍了基于实例的Oracle查询rownum和ROWID的区别,并以假设的方式为例。查询条件为rownum = 2,并介绍具体内容查询时的第一个记录。 在查询中,我们可以注意到它类似于 选择XX查到行号1) 这…

进阶进阶教程:中子弹运动

进阶进阶教程:中子弹运动

运动,教程,进阶,中子弹,电脑软件,打开素材,点击插入图片来自文件RARR;rarr;进口飞机和炸弹,然后调整图片。 1、选择飞机,点击幻灯片放映RARR,自定义动画任务窗格中单击;添加效果RARR;动作路径RARR;左自动生成一个绿色红色三角形作为水平虚线结束。…

如何为普通Win8.1隐藏任何文件的,如

如何为普通Win8.1隐藏任何文件的,如

文件,何为,电脑软件,JPG,点评:如果文件可以隐藏的常见的图片,这样隐藏的文件将被更彻底,下面给大家介绍在Win8.1平台如何使用命令来隐藏在图片中,任何文件,例如,将隐藏docx机密文件到JPG普通图片 Windows系统提供的各种文件的隐藏方法,如隐藏的文…

共享mysql插入数据时忽略数据重复

共享mysql插入数据时忽略数据重复

插入数据,方法,数据,电脑软件,mysql,当使用下两种方法时,必须将字段设置为主键(主键或唯一约束(唯一))。 1:使用替换(这是一种替代方法,有点像删除和恢复) 复制代码代码如下所示: 替换的语法 { } |取代low_priority延迟 {INTO} {tbl_name} (col_name…

scanmailoutlook是scanmailoutlook

scanmailoutlook是scanmailoutlook

电脑软件,scanmailoutlook,exe,Comment: ScanMailOutLook.exe is part of the trend PC-cillin antivirus package.It is used to scan the virus in Outlook mail 进程文件:scanmailoutlook或scanmailoutlook.exe 进程名称:PC-cillin邮件扫…

解析如何使用Zend框架连接到数据库

解析如何使用Zend框架连接到数据库

数据库,框架,连接到,如何使用,电脑软件,复制代码代码如下所示: $ db = zend_db::厂('pdo_mysql,阵列) 主机= > '127.0.0.1, 用户名= > 'root, 密码=>为123456, 在' = > 'mysql )); 直接将MySQL连接回数据库连接对象 读取配置并在配置文件中连接 …

对navapp.exe-navapp作为工艺文件

对navapp.exe-navapp作为工艺文件

作用,文件,工艺,电脑软件,navapp,点评:navapp.exe是navexcel广告软件的一部分。这个过程会记录你的浏览习惯和推送广告到您的计算机 进程文件:navapp或navapp.exe 进程名称:navexcel广告 过程类别:安全风险的过程 英文描述: navapp.exe是与nav…

自动启动10个位置的流氓

自动启动10个位置的流氓

位置,自动启动,流氓,电脑软件,评论:有时候我们启动电脑启动得很慢。大多数情况下,当Windows启动时,通常会有很多程序自动启动。也许你用360次扫描发现没有自动启动程序,这是因为它们已经被隐藏了。不要认为好的开始>程序开始菜单,一切都会好的。…