错误1292(22007):截断错误的双精度值和ora - 01722:无效的号码

  其实这种错误和隐式转换有关
  主要是由于转换的时候不能转换为期望的格式的然后出的问题
  比如1 p这个字符要转换为int(数量)是不可能的
  
  MYSQL错误模拟如下:
  
  
  myql>显示变量如sql_mode %的;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | Variable_name |值,,,,,,,,,,,,,,,,,,,|
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | sql_mode,,,| STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  1行集(0.01秒)
  
  
  mysql>使用测试
  完成阅读表信息表和列的名称
  你可以关掉这个功能一个更快的启动——
  
  
  数据库修改
  mysql>创建表jjjkk (id varchar(20),名称varchar (20));
  查询好,0行影响(0.03秒)
  
  
  mysql>插入jjjkk值(“1”,“高朋网”);
  查询好了,1行影响(0.00秒)
  
  
  mysql>更新jjjkk集名称=' gaop ' id=1;
  查询好了,1行影响(0.05秒)
  行匹配:1,改变:1,警告:0
  
  
  mysql>更新jjjkk集名称=' gaop ' id=1;
  查询好,0行影响(0.00秒)
  行匹配:1,改变:0,警告:0
  
  
  mysql>插入jjjkk值(“1 p”、“高朋网”),
  查询好了,1行影响(0.01秒)
  
  
  mysql>提交;
  查询好,0行影响(0.00秒)
  
  
  mysql>更新jjjkk集名称=' gaop ' id=1;
  错误1292(22007):截断错误的双重价值:‘1 p
  
  
  
  
  MYSQL中存在隐式转换甲骨文中通常会在执行计划中给出to_char之类的标示
  但是MYSQL执行计划没有
  如上列子虽然' 1 '可以转换这个时候没有报的错。但是新插入的‘1 p’是不能转换的
  这个在甲骨文中也存在这样的问题,所以报错
  错误1292(22007):截断错误的双重价值:‘1 p
  当然我是严格的SQL_MODE,否则则是遭到
  可以如下试试转换:
  ,选择转换(“1”,签署);
  ,选择转换(1 p,签署);
  
  
  然后演示一下甲骨文的报错:
  完成;创建表testmmm (id varchar2(20),名称varchar2 (20));
  表创建
  
  
  完成;插入testmmm值(“1”,“高朋网”);
  1行插入
  
  
  完成;提交;
  提交完整的
  
  
  完成;select *从testmmm id=1;
  身份证,,,,,,,,,名称
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  1,,,,,,,,,,高朋网
  
  
  完成;插入testmmm值(“1 p”、“高朋网”),
  1行插入
  
  
  完成;提交;
  提交完整的
  
  
  完成;select *从testmmm id=1;
  select * from testmmm id=1
  ora - 01722:无效的数量
  
  如果模拟
  完成;选择to_number (1 p)双重;
  从双重选择to_number (1 p)
  ora - 01722:无效的数量
  
  
  同样的情况
  
  
  我们查看一下执行计划中的隐式转换信息:
  谓词信息(由操作id):
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  ,,1 -过滤器(TO_NUMBER (" ID ")=1)
  ,,
  仅此记录MYSQL和ORACLE同样的报错

错误1292(22007):截断错误的双精度值和ora - 01722:无效的号码