Oracle的TO_CHAR与TO_DATE函数,转换格式一步到位

在这里插入图片描述

1. TO_CHAR函数

  • 作用TO_CHAR函数用于将日期型数据或数字型数据转换为字符串。这个函数非常常用,特别是在需要将日期或数字显示在网页或报表中时。
  • 语法
    1. 将日期转换为字符串

      TO_CHAR(日期, 格式字符串)
      
      • 示例:将emp表中员工的受聘日期按'yyyy-mm-dd day'的格式转换为字符串。
        SELECT ename, TO_CHAR(hiredate, 'yyyy-mm-dd day') FROM emp WHERE empno=7902;  -- 代码编号 [000251]
        
      • 说明:其中,hiredate是日期型数据,'yyyy-mm-dd day'是格式字符串,表示将日期按照"年-月-日 星期几"的格式显示出来。
    2. 将数字转换为字符串

      TO_CHAR(数字, 格式字符串)
      
      • 示例:将数字9895'$9,999.99'的格式转换为字符串。
        SELECT TO_CHAR(9895, '$9,999.99') FROM DUAL;  -- 代码编号 [000254]
        
      • 说明:这里'$9,999.99'格式字符串用于定义数字的显示格式,表示带有千分位符号和小数点的货币格式。

2. TO_DATE函数

  • 作用TO_DATE函数将一个字符串转换为日期型数据。它有两个参数:一个是待转换的字符串,另一个是格式字符串,用于指定字符串的格式。
  • 语法
    TO_DATE(字符串, 格式字符串)
    
  • 示例:将字符串'2017-07-03''yyyy-mm-dd'的格式转换为日期型数据。
    SELECT TO_DATE('2017-07-03', 'yyyy-mm-dd') FROM DUAL;  -- 代码编号 [000255]
    
  • 说明:格式字符串'yyyy-mm-dd'告诉Oracle如何解释字符串中的各部分,使其转换为正确的日期。

3. TO_NUMBER函数

  • 作用TO_NUMBER函数用于将字符串转换为数字型数据。它有两个参数:一个是待转换的字符串,另一个是格式字符串,用于定义字符串中的数字格式。
  • 语法
    TO_NUMBER(字符串, 格式字符串)
    
  • 示例
    1. 成功示例:将字符串'$1,000.50''$999,999.99'的格式转换为数字型数据。

      SELECT TO_NUMBER('$1,000.50', '$999,999.99') FROM DUAL;  -- 代码编号 [000257]
      
      • 说明:格式字符串中的$、逗号和小数点必须与待转换的字符串保持一致。
    2. 错误示例:尝试将字符串'$1000.50''$999,999.99'的格式转换为数字型数据,结果会报错。

      SELECT TO_NUMBER('$1000.50', '$999,999.99') FROM DUAL;  -- 代码编号 [000258]
      
      • 说明:由于格式字符串中规定了千分位符号,但在待转换字符串中未使用千分位符号,导致转换失败。

非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。

让AI工具成为你的得力助手,感受AI工具的无限可能,让复杂的任务变得简单,让你的工作更加轻松和高效。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周同学的技术栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值