当前位置:  数据库>oracle

Oracle基础教程:单行函数—类型转换函数

    来源: 互联网  发布时间:2017-04-22

    本文导语: 不同数据类型之间的转换 在赋值语句中数据类型会隐式转换,隐式转换应当尽量避免,因为写出来的SQL难理解,随着时间流逝自己都很难理解特别是嵌入到大型程序中时,另外,Oracle升级会修改隐式转换的规则,这会使程序移植遇到问...

不同数据类型之间的转换
赋值语句中数据类型会隐式转换,隐式转换应当尽量避免,因为写出来的SQL难理解,随着时间流逝自己都很难理解
特别是嵌入到大型程序中时,另外,Oracle升级修改隐式转换的规则,这会使程序移植遇到问题.
尤其是索引列不能使用隐式转换 那样就不走索引了


赋值语句中oracle的自动转换规则:
 1.将变长字符型(varchar2)或定长字符型(char)转换成数值型(number)
 2.将变长字符型(varchar2)或定长字符型(char)转换成日期型(date)
 3.将数值型(number)转换成变长字符型(varchar2)
 4.将日期型(date)转换成变长字符型(varchar2)



表达式中oracle的自动转换规则:
 1.将变长字符型(varchar2)或定长字符型(char)转换成数值型(number)
 2.将变长字符型(varchar2)或定长字符型(char)转换成日期型(date)

 

转换成功的条件:
 在将字符型数据转换成数字型时,要保证字符型数据为有效的数.
 在将字符型数据转换成日期型时,要保证字符型数据位有效的日期.
 
SQL> select ename,sal from emp where sal > '4000';



ENAME    SAL
---------- ----------
KING   5000

SQL>   拿字符和数字比较 oracle自动将字符串转成了数字

SQL> select ename,hiredate from emp where hiredate = '17-NOV-81';

ENAME    HIREDATE
---------- ------------------
KING    17-NOV-81

SQL>   拿字符串充当日期 oracle自动将字符串转成了日期

不能直接转换
 数值型和日期型之间不能直接转换,必须将其中之一先转换为字符型,之后再转换为另一种类型

 

显示转换函数:
 to_char
 to_number
 to_date
 



 
to_char(日期,'fmt') 
 将日期型数据转换成字变长字符串.fmt为日期格式
 日期格式必须用单引号扩起来
 常用的时间格式:
  YYYY  数字年
  YEAR  英文
  MM    数字月
  MONTH 英文月
  DY    缩写的星期
  DAY   完整的星期
  DD    数字日期
  hh    12小时
  HH24  24小时
  MI    分钟
  SS    秒














idle> select ename,to_char(hiredate,'YYYY-MM-DD') from emp where ename='SCOTT';

ENAME    TO_CHAR(HI
---------- ----------
SCOTT    1987-04-19

idle>  将日期型转换成了字符型

to_char(数字,'fmt')
 将数字转换成变长字符串.fmt为数字格式
 9 一个数字  给定的9个数不足 会显示#
 0 显示前导0
 $ 美元符号
 L 本地货币符号
 . 小数点
 , 千位符







    
 
 

您可能感兴趣的文章:

  • Oracle 系统变量函数介绍
  • Oracle 系统变量函数用法指南
  • Oracle中decode函数的用法
  • Oracle round()函数与trunc()函数区别介绍
  • oracle中lpad函数的用法详解
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle函数substr(str1, pos, [len])
  • Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
  • SQL中Charindex和Oracle中对应的函数Instr对比
  • apache通过php的oci函数读取Oracle(字符集ZHS16GBK)时,显示乱码,如何解决?
  • Oracle Max函数使用中出现的问题
  • oracle合并列的函数wm_concat的使用详解
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • c#中oracle to_date函数用法举例
  • Oracle 函数用法之decode
  • Oracle过程与函数的区别分析
  • Oracle层次查询和with函数的使用示例
  • oracle的nvl函数的使用介绍
  • c#中oracle的to_date函数使用方法
  • Oracle中nul()函数
  • 在oracle里如何将String转换成Date?????
  • 请问:ORACLE中的数据取出来后,需不需要进行一定的转换才能变为C语言的数据类型啊?
  • ORACLE 毫秒与日期的相互转换示例
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • Oracle与FoxPro两数据库的数据转换步骤
  • oracle SCN跟TIMESTAMP之间转换
  • Oracle下时间转换在几种语言中的实现
  • 关于tomcat4.0.1+JDK1.3+ORACLE+JDBC中字符编码的转换问题。
  • MySQL转换Oracle的需要注意的七个事项
  • MySQL数据库向Oracle转换时注意若干问题
  • Oracle Number型数值存储与转换的实现详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ORACLE数据库常用字段数据类型介绍
  • oracle中的空类型与c语言的空类型相匹配吗?
  • 关于Oracle BLOB类型,一个String字符怎么写入BLOB字段?
  • Oracle中查看某列数据类型
  • 测试添加Oracle中Blob数据类型对象
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • oracle中 VARCHAR2是什么数据类型
  • 请问保存文章内容的字段应用什么类型的(oracle),急!!!
  • oracle中怎么没有boolean类型的字段?应该用什么代替?
  • 如何向oracle库中字段类型是date的添加数据
  • jsp中在oracle中查询日期类型时sql语句该怎么写啊?
  • 怎样将当前时间写到Oracle中date类型的字段中!!!!!!!!!!!!
  • 急!急!oracle 中 long 类型在 tomcat 中的问题
  • 不能把几百个以上的汉字插入oracle varchar2类型的问题!
  • Oracle里long类型
  • jsp显示oracle中varchar2类型字段 在线等待
  • Oracle中的Raw类型解释
  • 我要向oracle中插入大文本,用的是lang类型的字段,但是只能插3000字,再多就抱错,说我字符串过长。谁遇到过此问题?
  • Oracle中字符集的类型决定varchar2的字符长度
  • 在Oracle的函数中,返回表类型的语句
  • 高分求救:谁用过JSP处理ORACLE数据库中的LONG RAW类型字段
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • date iis7站长之家
  • Oracle EBS R12 支持 Oracle Database 11g


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3