其实这种错误和隐式转换有关
主要是由于转换的时候不能转换为期望的格式的然后出的问题
比如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同样的报错
主要是由于转换的时候不能转换为期望的格式的然后出的问题
比如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同样的报错