当前位置: 代码迷 >> 综合 >> Oralce中To_data(),To_char(),To_number()的用法
  详细解决方案

Oralce中To_data(),To_char(),To_number()的用法

热度:87   发布时间:2024-01-29 07:29:47.0

目录

  • Oralce中To_data(),To_char(),To_number()的用法
    • ①.To_data() 函数对日期的转换
    • ②.To_char() 函数对数字的转换
    • ③.To_number() 函数将字符转换为数字

Oralce中To_data(),To_char(),To_number()的用法

TO_CHAR 是把日期或数字转换为字符串
TO_DATE 是把字符串转换为数据库中得日期类型转换函数
TO_NUMBER 将字符转化为数字

①.To_data() 函数对日期的转换

格式控制 描述:

YYYY、YYY、YY 分别代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午或者下午
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词
例子:
SELECT TO_DATE(sysdata, ‘YYYY-MM-DD HH24:MI:SS’) FROM DUAL 显示结果: 2020-7-16 19:25:34
SELECT TO_DATE(sysdata, ‘YYYY-MM-DD HH24:MI’) FROM DUAL 显示结果: 2020-07-16 19:25
SELECT TO_DATE(sysdata, ‘YYYY-MM-DD HH24’) FROM DUAL 显示结果: 2020-07-16 19
SELECT TO_DATE(sysdata, ‘YYYY-MM-DD’) FROM DUAL 显示结果: 2020-07-16
SELECT TO_DATE(sysdata, ‘YYYY-MM’) FROM DUAL 显示结果: 2020-07
SELECT TO_DATE(sysdata, ‘YYYY’) FROM DUAL 显示结果: 2020

注:sysdata 是获取当前时间

注意:
1.在使用Oracle的to_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date(‘2005-01-01 13:14:20’,‘yyyy-MM-dd HH24:mm:ss’) from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date(‘2005-01-01 13:14:20’,‘yyyy-MM-dd HH24:mi:ss’) from dual;
2.另要以24小时的形式显示出来要用HH24
select to_char(sysdate,‘yyyy-MM-dd HH24:mi:ss’) from dual;//mi是分钟
select to_char(sysdate,‘yyyy-MM-dd HH24:mm:ss’) from dual;//mm会显示月份

②.To_char() 函数对数字的转换

select to_char(字段,‘format_modle1’) from dual
注:以下是to_char()长使用的格式

9:数字 0:零 $:美元符号 L:本地货币符号 ,:千位分隔符 .小数点

③.To_number() 函数将字符转换为数字

select to_number(字段,‘format_modle1’); from dual

9:数字 0:零 $:美元符号 L:本地货币符号 ,:千位分隔符 .小数点

  相关解决方案