网站首页 > 技术文章 正文
今天分享下oracle三大类型(varchar2,number,date)转换,主要当做备忘,实际工作很容易忘记的一个点。
oracle中三大类型与隐式数据类型转换
(1)varchar2变长/char定长-->number,例如:'123'->123
(2)varchar2/char-->date,例如:'25-4月-15'->'25-4月-15'
(3)number---->varchar2/char,例如:123->'123'
(4)date------>varchar2/char,例如:'25-4月-15'->'25-4月-15'
oracle如何隐式转换:
1)=号二边的类型是否相同
2)如果=号二边的类型不同,尝试的去做转换
3)在转换时,要确保合法合理,否则转换会失败,例如:12月不会有32天,一年中不会有13月
实例
1、查询1980年12月17日入职的员工(方式一:日期隐示式转换)
select * from emp where hiredate = '17-12月-80';
2、使用to_char(日期,'格"常量"式')函数将日期转成字符串,显示如下格式:2015 年 04 月 25 日 星期六
select to_char(sysdate,'yyyy" 年 "mm" 月 "dd" 日 "day') from dual;
3、使用to_char(日期,'格式')函数将日期转成字符串,显示如格式:2015-04-25今天是星期六 15:15:15
select to_char(sysdate,'yyyy-mm-dd"今天是"day hh24:mi:ss') from dual;
或
select to_char(sysdate,'yyyy-mm-dd"今天是"day HH12:MI:SS AM') from dual;
4、使用to_char(数值,'格式')函数将数值转成字符串,显示如下格式:$1,234
select to_char(1234,'$9,999') from dual;
5、使用to_char(数值,'格式')函数将数值转成字符串,显示如下格式:¥1,234select to_char(1234,'$9,999') from dual;
select to_char(1234,'L9,999') from dual;
6、使用to_date('字符串','格式')函数,查询1980年12月17日入职的员工(方式二:日期显式转换)
select * from emp where hiredate = to_date('1980年12月1日','yyyy"年"mm"月"dd"日"');
或
select * from emp where hiredate = to_date('1980#12#17','yyyy"#"mm"#"dd');
或
select * from emp where hiredate = to_date('1980-12-17','yyyy-mm-dd');
7、使用to_number('字符串')函数将字符串‘123’转成数字123
select to_number('123') from dual;
注意:
select '123' + 123 from dual;246
select '123' || 123 from dual;123123
上面的例子大家有空也可以测试下,对于理解oracle中三大类型与隐式数据类型转换还是很有帮助的。后面会分享更多关于DBA内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2024-10-30 oracle——字符串转(日期或者日期字符串)
- 2024-10-30 Ask Oracle 天秤座1月份,坚持理想与信念,成功就在不远方
- 2024-10-30 使用ORA_ROWSCN伪列获取表最后的DML时间
- 2024-10-30 Oracle数据库小基础 oracle数据库基础教程孙风栋答案
- 2024-10-30 前后台时间日期格式化,数据库查询时间不对,下次不要困扰你了
- 2024-10-30 美创科技运维日记|关于Oracle数据库的软件支持周期的那些事
- 2024-10-30 Oracle数据库定时器Job oracle数据库定时器用法
- 2024-10-30 SQL日期函数大全 看这一篇就够 sql日期函数的使用方法
- 2024-10-30 oracle——ora-01839 指定的日期无效,interval '2' month的问题
- 2024-10-30 数据库中常用的日期函数 数据库日期型
你 发表评论:
欢迎- 637℃几个Oracle空值处理函数 oracle处理null值的函数
- 629℃Oracle分析函数之Lag和Lead()使用
- 618℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 614℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 612℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 603℃【数据统计分析】详解Oracle分组函数之CUBE
- 591℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 577℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)