当前位置: 首页 > news >正文

Incorrect DECIMAL value: ‘0‘ for column ‘‘ at row -1

用mysql插入数据的时候,报了上面的错误。

   语句类似:INSERT INTO t_aa(c1,c2,c3,a1,a2,a3) 
SELECT t1,t2,t3,b1,b2,b3
FROM
    (
    SELECT,  t1,t2,t3
       cast(ifnull(d1,'0')as decimal(8,1) b1,
      cast(ifnull(d2,'0') as decimal(8,1) b2,
     cast(ifnull(d3,'0')as decimal(8,1) b3

from tt) xx

d1,d2,d3是字符串类型

单独查询没问题,都有数据,b1,b2,b3都有数据,没有空值。d1,d2,d3的空值(是'',非null)都转成0.0了,把select语句插入insert后时就报错了。网上mysql中出现Incorrect DECIMAL value: '0' for column '' at row -1错误解决方案 - WKellyL - 博客园 (cnblogs.com)里的第二种 方法也试了,不管是用convert,cast还是round函数都没用。原以为是b1,b2,b3字段插入的问题,删掉了b1,b2,b3字段插入,还是报一样的错。

  最终发现是d1,d2,d3存在空串引起的,还是需要把空串转成数字0,而不仅仅是null传要转。

即 cast(if(a.score='' ,'0',a.score) AS DECIMAL(8,1) ) sc1。太Tm折腾。

  相信用文章里的第一种 方法早就解决了。

http://www.lryc.cn/news/318508.html

相关文章:

  • Vue3组件通信的方式
  • 双场板功率型GaN HEMT中用于精确开关行为的电容建模
  • UE4_AI_行为树_行为树快速入门指南
  • c++ 面试100个题目中的编程题目
  • C++初阶:类与对象(尾篇)
  • Spring状态机简单实现
  • WebServer -- 面试题(下)
  • 企业微信如何接入第三方应用?
  • JAVA后端编码的主键字段存储为什么倾向于使用雪花算法
  • Rust 深度学习库 Burn
  • C语言-存储期2.0
  • 计算机网络面经八股-HTTP请求报文和响应报文的格式?
  • Ubuntu 18.04安装最新版Visual Studio Code(VS Code)报依赖库版本过低错误
  • Android NDK入门:在应用中加入C和C++的力量
  • 2024年华为OD机试真题-田忌赛马-Java-OD统一考试(C卷)
  • C++ 网络编程学习五
  • 案例分析篇05:数据库设计相关28个考点(9~16)(2024年软考高级系统架构设计师冲刺知识点总结系列文章)
  • pip 和conda 更换镜像源介绍
  • Git概述及安装步骤
  • 北京保险服务中心携手镜舟科技,助推新能源车险市场规范化
  • 给女朋友的浪漫微信消息推送超详细版
  • Android开发 Activity启动模式、ViewModel与LiveData,及Kotlin Coroutines
  • MQL语言实现抽象工厂模式
  • UE4开个头-简易小汽车
  • Java基础入门day04
  • 中值定理j
  • 第2篇【Docker项目实战】使用Docker部署Raneto知识库平台(转载)
  • 【Javascript】 Promise 对象(二)
  • 细说C++反向迭代器:原理与用法
  • SpringBoot(依赖管理和自动配置)