问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

sql隐式转换的

发布网友 发布时间:2022-04-10 13:30

我来回答

3个回答

懂视网 时间:2022-04-10 17:51

10; OBJECT_ID CREATED ---------- ------------------ 20 25-JUL-18 46 25-JUL-18 28 25-JUL-18 15 25-JUL-18 29 25-JUL-18 3 25-JUL-18 25 25-JUL-18 41 25-JUL-18 54 25-JUL-18 9 rows selected. select object_name from function where to_char(created,‘yyyymmdd hh24:mi‘)=‘20180725 12:51‘; 20180725 12:54 drop table tab; create table tab(id number(20),datetime date); declare i number; dd date; BEGIN dd := sysdate; i:= 0; for x in 1..5000 loop --if mod(i,100)=0 then insert into tab(id,datetime) values(i,dd); dd := dd+1; i := i+1; end loop; END; / create table tab(id varchar2(20),datetime date); 1289 20220429 13:58 29-APR-22 ************************ 测试1 ************************ select * from tab where id=1289 and datetime=‘29-APR-22‘; select * from tab where id=1289 and datetime=‘29-APR-22‘;SQL> no rows selected Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 21 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 21 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter(TO_NUMBER("ID")=1289 AND "DATETIME"=‘29-APR-22‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 5 recursive calls 0 db block gets 33 consistent gets 0 physical reads 0 redo size 400 bytes sent via SQL*Net to client 508 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 0 rows processed ************************ 测试2 ************************ select * from tab where id=‘1289‘ and datetime=‘29-APR-22‘; select * from tab where id=‘1289‘ and datetime=‘29-APR-22‘; SQL> no rows selected Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 21 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 21 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ID"=‘1289‘ AND "DATETIME"=‘29-APR-22‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 5 recursive calls 0 db block gets 33 consistent gets 0 physical reads 0 redo size 400 bytes sent via SQL*Net to client 508 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 0 rows processed 刷新cache之后再执行 SQL> select * from tab where id=‘1289‘ and datetime=‘29-APR-22‘; no rows selected Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 21 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 21 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ID"=‘1289‘ AND "DATETIME"=‘29-APR-22‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 16 consistent gets 14 physical reads 0 redo size 400 bytes sent via SQL*Net to client 508 bytes received via SQL*Net from client 1 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 0 rows processed ************************ 测试3 ************************ select * from tab where id=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; SQL> select * from tab where id=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; ID DATETIME -------------------- -------------- 1289 29-04-22 13:58 Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 13 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 13 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ID"=‘1289‘ AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyy ymmdd‘)=‘20220429‘) Statistics ---------------------------------------------------------- 62 recursive calls 0 db block gets 51 consistent gets 0 physical reads 0 redo size 600 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 4 sorts (memory) 0 sorts (disk) 1 rows processed ************************ 测试4 ************************ create index tab_index on tab(id,to_char(datetime,‘yyyymmdd‘)); SQL> / ID DATETIME -------------------- -------------- 1289 29-04-22 13:58 Execution Plan ---------------------------------------------------------- Plan hash value: 4028735706 ----------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| TAB | 1 | 13 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | TAB_INDEX | 1 | | 1 (0)| 00:00:01 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("ID"=‘1289‘ AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyyymmdd‘)=‘ 20220429‘) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 4 consistent gets 3 physical reads 0 redo size 600 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed ************************ 测试5 ************************ 新创建的表 select * from tab where id=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; SQL> / ID DATETIME ---------- -------------- 1289 29-04-22 22:42 Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 22 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 22 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("ID"=1289 AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyyym mdd‘)=‘20220429‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 17 consistent gets 14 physical reads 0 redo size 599 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed ************************ 测试5 ************************ create index tab_index on tab(id,to_char(datetime,‘yyyymmdd‘)); SQL> select * from tab where id=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; ID DATETIME ---------- -------------- 1289 29-04-22 22:42 Execution Plan ---------------------------------------------------------- Plan hash value: 4028735706 ----------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 28 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| TAB | 1 | 28 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | TAB_INDEX | 1 | | 1 (0)| 00:00:01 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("ID"=1289 AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyyymmdd‘)=‘20 220429‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 10 recursive calls 0 db block gets 27 consistent gets 3 physical reads 0 redo size 599 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed ************************ 测试6 ************************ select * from tab where id=1289 and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; SQL> select * from tab where id=1289 and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; ID DATETIME ---------- -------------- 1289 29-04-22 22:42 Execution Plan ---------------------------------------------------------- Plan hash value: 4028735706 ----------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 28 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| TAB | 1 | 28 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | TAB_INDEX | 1 | | 1 (0)| 00:00:01 | ----------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("ID"=1289 AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyyymmdd‘)=‘20 220429‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 7 recursive calls 0 db block gets 25 consistent gets 0 physical reads 0 redo size 599 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed ************************ 测试6 ************************ select * from tab where to_char(id)=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; SQL> select * from tab where to_char(id)=‘1289‘ and to_char(datetime,‘yyyymmdd‘)=‘20220429‘; ID DATETIME ---------- -------------- 1289 29-04-22 22:42 Execution Plan ---------------------------------------------------------- Plan hash value: 1995730731 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 28 | 5 (0)| 00:00:01 | |* 1 | TABLE ACCESS FULL| TAB | 1 | 28 | 5 (0)| 00:00:01 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter(TO_CHAR("ID")=‘1289‘ AND TO_CHAR(INTERNAL_FUNCTION("DATETIME"),‘yyyymmdd‘)=‘20220429‘) Note ----- - dynamic sampling used for this statement (level=2) Statistics ---------------------------------------------------------- 5 recursive calls 0 db block gets 35 consistent gets 0 physical reads 0 redo size 599 bytes sent via SQL*Net to client 519 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

 

SQL执行异常系列之——隐式转换

标签:pre   exec   statistic   drop   row   orm   fun   obj   ips   

热心网友 时间:2022-04-10 14:59

是的 比如 int.parse("1");
insert into a(sid,sname) values('1',1)
可以运行成功,但是
insert into a(sid,sname) values('a1',1)
将 varchar 值 'a1' 转换为数据类型为 int 的列时发生语法错误。
insert into a(sid,sname)values(a1,1)
在此上下文中不允许使用 'a1'。此处只允许使用常量、表达式或变量。

热心网友 时间:2022-04-10 16:17

从int转成varchar型..只要你的int是正确的..都可以转换

把varchar 转成int 如果varchar中不带字符,只有数字.也是可以转换成功的.但是有字符就不行
Oracle中如何用SQL把字符串转换成整型

在oracle中,将某种数据类型的表达式显式转换为另一种数据类型,可以显示的使用CAST 和 CONVERT 提供的功能。(1)使用 CAST:CAST ( expression AS data_type )(2)使用 CONVERT:CONVERT (data_type[(length)], expression [, style])

sql中+0+cast函数有什么作用?

在SQL中,`+0` 和 `CAST` 函数都可以用于将数据类型转换为数字类型。它们的作用如下:1. `+0`:它是一种常见的将字符串转换为数字的方法之一。通过将一个字符串与数字0相加,可以将其隐式转换为数字类型。例如,`'123' + 0` 将字符串 `'123'` 转换为整数类型,...

sql server数据库rdbms显示转换,隐式转换是什么意思

隐式转换,就是你不使用转换函数,默认就给转换了。比如定义一个int型的变量@a,然后给变量符值 set @a = '2' ,这个就会隐式转换,把字符转换成数字了。

sql 不允许数据库类型varcher到varbinary的隐式转换,请使用convert函数...

可以做如下转换:SELECT CONVERT(varbinary(10),'abc')

sql 如何将字符串转换为整型

cast函数格式如下:CAST(字段名 as int);

怎样在SQL把一个字符串型转化成一个INT型和另外一个INT型相乘?_百度知...

SQL中有类型转换的函数:cast(字段名 as int))比如你的字符串变量名:myString INT型变量:myInt 可以这样写 cast(myString as int)*myInt

sql 不允许数据库类型varcher到varbinary的隐式转换,请使用convert函数...

那你具体执行是哪句呢? 从提示来看,你是想要转换的字段内容中包含字母了(因为varchar类型,可是全数字的字串,也可以是数字字母组合的字串,乃至于汉字等等),然后你要把它转换成number型,当然会报错的

Oracle中如何用SQL把字符串转换成整型

您可以使用cast函数将数字字符串转化为整型。cast函数格式如下:CAST(字段名 as int);

将varchar转换为数据类型 numeric 时出现算术溢出错误。

我告诉你吧,在你执行这句update Goods set goodsCost = '12.50' where gooodsId = 'sok4567' 语句是,sql系统隐式的将'12.50' 转换成12.50的decimal(6,2)数据类型,但是他不能将字符串“ab”隐式的转换成你所需要的,ok?

SQL条件控制(case when...then...else...end) 详细解释

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。--比如说,下面这段sql,你永远无法得到“第二类”这个结果 case when col_1 ...

js强制转换和隐式转换 隐式转换和强制转换 scala的隐式转换 隐式转换和显示转换 mysql隐式转换 js隐式转换 oracle 隐式转换 隐式转换是什么 隐式转换规则
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
文件密使无法恢复解密,请高手帮忙 加密文件打不开了,请教高手..急需用那些文件 跪求电脑高手帮忙解决文件加密问题,我把所有积分给他。 我的优盘是联想的,用自带的加密软件加密后,忘了密码,请教高手,怎么解密... pe pb是什么 抱着柴火去火跟前猜谜语 关于租用办公室房产税如何计算与缴纳的问题 一个人抱着柴火前方是火是打一成语的谜语 ...前男友跟别的女人抱一起的时候,放的背景纯音乐出自哪里 ...从前男友家出来后被阿苏接上车,在车上的背景音乐是什么,在哪里有下... 荒野行动TT游戏平台里面的悬浮窗为什么弄不掉 悬浮窗我都关掉了 荒野行动PC版怎么窗口化 电脑版窗口模式设置方法 自己做 800w以上的音响功放都要用什么件详细一点 怎么制作 感谢 我想做一个功放 请问怎样用三极管做最简单的功放 DIY 5.1声道功放怎样做 如何自己制作功放 怎样制造简易功放 南京失恋博物馆在哪 郑州失恋博物馆在哪 怎样制作最简单的功放机 如何自己制作大功率音频功放? 宁波失恋博物馆是不是在罗蒙环球城? 广州失恋博物馆的地址在哪?网上看的挺火的 新买的港版iPhone5s如何查询购买日期,激活日期和生产日期? 怎样做功放 淮安市黄冈失恋博物馆在哪 ? 怎样做个最简单的功放? 港版苹果4激活日期怎么查?序列号81122wwna4s 河北廊坊失恋博物馆在哪儿? 我告诉你一个秘密,我喜欢你的笑容,声音。可以温暖一切的笑容。你真的很好。英文翻译。谢谢 你真是太好了 用英文怎么说? 说实话你真的很好看英语 英文翻译 我的宝贝,给我个拥抱。我的宝贝,你真的很好 你真好用英语怎么说? 你真的很好 只是我不够好 英文怎么说? 用英语怎么说一定要开心快乐,你真的很好。生日快乐? 英语翻译:很谢谢老师,也很幸运成为你的学生,你真的很好很亲切,我很感动! 你真的很好吗?用英语怎么说 麻烦帮翻译下 谢谢 大叔 你真的很好 怎么都忘不了你翻译的英文 翻译成英语~或者瑞典语~谢谢~ 华为P10手机上面小E你在那里为什么不叫 有能力的帮我把它翻译成英文: 谁能凭着自己的语感翻译一下下面的英文 帮忙翻译一下这段英语!!(高分悬赏) 求个英语达人翻译下。 现在有什么英文歌、韩文歌、日文歌好听啊 SQL Server中 隐式转换的问题 手办放在原装盒子里还是放在柜子里好