`

Oracle中的to_char、to_Data、to_Number函数使用

 
阅读更多
Oracle中TO_DATE TO_CHAR格式
2009-04-23 18:02:21
TO_CHAR 是把日期或数字转换为字符串
TO_DATE 是把字符串转换为数据库中得日期类型转换函数
TO_NUMBER 将字符转化为数字

 TO_CHAR
使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);

 TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])

 TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])

 数字格式格式
9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符

 日期格式
格式控制 描述
YYYY、YYY、YY 分别代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午或者下午
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词

“特殊字符” 假如特殊字符
HH24:MI:SS AM 15:43:20 PM

日期例子:
SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL
SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL
SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL
SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL
SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL
SELECT TO_DATE('2006', 'YYYY') FROM DUAL

日期说明:
当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。

同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。

但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。

注意:
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会显示月份
分享到:
评论

相关推荐

    Oracle中实现datadiff函数

    ### Oracle中实现datadiff函数 #### 背景与目的 在Oracle数据库中,并未直接提供`DATEDIFF`函数来计算两个日期之间的差异。这与SQL Server等其他数据库系统有所不同,在那些系统中,`DATEDIFF`是一个常用且非常...

    几个常用的Oracle函数及实例运用

    在Oracle数据库中,提供了丰富的内置函数来处理各种数据类型的操作需求。这些函数能够极大地简化开发人员的工作,并提高SQL查询的效率。本文将详细介绍几个常用Oracle函数及其在实际项目中的应用案例。 #### 二、...

    oracle保留两位小数解决方案

    当对格式有特定要求时,可以使用DECODE函数配合TO_CHAR函数。例如,`DECODE(salary, 0, '0.00', TO_CHAR(salary, '99999999999999.99'))`。此方法可以在0值时返回'0.00',避免出现'.00'的情况。 4. **CASE WHEN...

    oracle常用字符函数

    Oracle数据库系统提供了丰富的函数库,包括字符函数、日期函数、数据类型转换函数以及集合函数,以帮助用户在处理数据时实现各种复杂的操作。下面将详细解释这些函数的用途和使用方法。 1. **字符函数** - `LOWER...

    SqlServer,Oracle数据类型,函数,导入导出对照

    - **TO_CHAR**、**TO_NUMBER**、**TO_DATE**、**HEX_TO_RAW**、**RAW_TO_HEX**:用于不同类型数据之间的转换。 #### 其它行级别函数 - **DECODE**、**COALESCE**、**NULLIF**、**SUSER_ID**、**USER_NAME**、**USER...

    oracle性能优化、函数大全、傻瓜問題

    4. 转换函数:TO_CHAR、TO_DATE、TO_NUMBER用于不同类型之间的转换。 5. 条件函数:如CASE、DECODE、NVL等进行条件判断和缺失值处理。 三、Oracle数据库技术 1. PL/SQL:Oracle的编程语言,用于编写存储过程、...

    oracle自定义函数总结

    3. **在SQL查询中使用函数**: - **示例代码**: ```sql SELECT get_sal('&name') FROM dual; ``` 4. **异常处理**: - **示例代码**: ```sql CREATE OR REPLACE FUNCTION get_sal(name VARCHAR2) RETURN ...

    DB2和ORACLE_应用开发差异比较

    在将Oracle的日期数据迁移到DB2时,可能需要使用Oracle的`TO_CHAR()`函数来提取日期部分,再通过适当的格式加载到DB2中。例如,如果源数据中有日期时间信息,但在目标DB2数据库中只需要日期部分,可以通过Oracle的`...

    Oracle8i_9i数据库基础

    §15.4 在 PL/SQL 中使用 sqlcode,sqlerrm 273 第十六章 存储过程和函数 276 §16.1 引言 276 §16.2 存储过程 276 §16.2.1 创建过程 276 §16.2.2 使用过程 278 §16.2.3 开发存储过程步骤 279 §16.2.3.1 编辑...

    oracle函数大全及存储过程语法 chm

    Oracle提供了大量内置函数,如数学函数(如ABS、MOD)、日期时间函数(如SYSDATE、ADD_MONTHS)、字符串函数(如SUBSTR、INSTR)和转换函数(如TO_CHAR、TO_DATE)。例如,`SYSDATE`函数返回当前系统的日期,而`...

    Effective_Oracle_by_Design(oracle高效设计)

    - 正确的数据类型选择:了解如何根据数据特性选择合适的数据类型,如CHAR、VARCHAR2、NUMBER等,以确保存储效率和查询性能。 - 正确使用索引:讨论何时应创建索引,以及如何设计B树索引、位图索引和函数索引以优化...

    Oracle Mysql DM等数据库统计表数据量和条数.docx

    在DM数据库中,可以使用存储过程、内置函数和自定义函数来统计表数据量和条数。 1. 使用存储过程执行特定用户的表统计行数: ```sql DBMS_STATS.GATHER_SCHEMA_STATS('ROOT', 100, TRUE, 'FOR ALL TABLE NUM_ROWS ...

    Oracle_PLSQL.rar_Java plsql_oracle_oracle doc_pl sql_plsql

    在Oracle数据库环境中,PL/SQL被广泛用于开发存储过程、函数、触发器、游标和包,以实现复杂的业务逻辑和数据处理任务。本文将深入探讨Oracle PL/SQL的相关知识点,并结合Java进行集成开发。 1. **PL/SQL基础** - ...

    Oracle维护常用SQL语句

    在Oracle数据库中,为了获取每个部门薪资排名前N名的员工,可以使用`ROW_NUMBER()`窗口函数进行分组排序。例如,若需获取每个部门薪资排名前三的员工,可执行以下SQL语句: ```sql SELECT * FROM ( SELECT DEPTNO,...

    Oracle的表结构转成Mysql的表结构

    本文介绍的`fnc_table_to_mysql`函数能够有效地帮助用户从Oracle迁移到MySQL时,快速地生成对应的表结构。尽管存在一定的局限性,但通过调整参数和手动检查生成的结果,可以有效地满足大多数迁移场景的需求。

    Oracle9i PL_SQL从入门到精通

    Oracle9i PL/SQL是Oracle数据库系统中的一种高级编程语言,用于在数据库环境中编写存储过程、函数、触发器等数据库对象。本资料“Oracle9i PL/SQL从入门到精通”旨在帮助初学者掌握这一强大的数据库编程技术,并逐步...

    oracle数据库常用操作指令

    在插入日期字段值时,可以使用系统时间SYSDATE或者TO_DATE函数进行格式化。针对可能存在的单引号问题,需要将单引号替换成两个单引号进行转义。对于CLOB类型的大文本数据,可以使用DBMS_LOB程序包进行处理。 DELETE...

Global site tag (gtag.js) - Google Analytics