oracle 数据库存在的隐式转换(varchar,date,number)

在使用 MySQL 的时候直接用时间字段例如 time>'2018-08-08' 可以用,前段时间在 Oracle 上也能这样用,但最近,发现 Oracle 上这样不能用了。于是百度搜集了一些资料,原来 Oracle 含隐式转换。

oracle 数据库存在的隐式转换(varchar,date,number)


我们会发现,在 oracle 中,有些数据的类型就算不一样也是可以比较,相加的。

select '123'+123  from dual;==》246

其实上面是存在隐式转换的,oracle 自行处理了而且。

oracle 存在三大类型的转换:1,数字类型 2,字符类型 3,日期类型。但是他们并不是可以互相可以转换的。

用函数转换的叫做显式转换,不用函数转换的叫做隐式转换。

需要注意的是,在使用函数转换的时候,数据的格式要符合。不然会出问题。

一,日期类型转换字符类型 (转换格式不区分大小写)。

to_char(字段名,'yyyy-mm-dd ')                    --->  2016-12-05

to_char(字段名,'yyyy-mm-dd hh24:mi:ss ')   --->  2016-12-05 12:20:30

二,字符型转换成日期。

to_date(字段名,'yyyy-mm-dd');

to_date(字段名,'yyyy-mm-dd hh24:mi:ss ');

查询 1980 年 12 月 17 日入职的员工(方式一:日期隐示式转换)

select * from emp where hiredate = '17-12 月 -80';

使用 to_char(日期,' 格 " 常量 " 式 ') 函数将日期转成字符串,显示如下格式:2015 年 04 月 25 日 星期六

select to_char(sysdate,'yyyy" 年 "mm" 月 "dd" 日 "day') from dual;

三, 字符类型转换成数字类型。

使用 to_number(' 字符串 ') 函数将字符串‘123’转成数字 123

select to_number('123') from dual;

四,数字类型换成字符类型

SELECT to_char(123) FROM dual;

————————————————

原文链接:https://blog.csdn.net/pojocheng/article/details/79627906


手机扫描二维码访问

本文标题:《oracle 数据库存在的隐式转换(varchar,date,number)》作者:极四维博客
原文链接:https://cway.top/post/583.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    «    2024年10月    »
    123456
    78910111213
    14151617181920
    21222324252627
    28293031

    搜索

    控制面板

    您好,欢迎到访网站!
      查看权限

    最新留言

    文章归档

    • 订阅本站的 RSS 2.0 新闻聚合