`
liss
  • 浏览: 842717 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle 的to_char、to_number、to_date用法

阅读更多

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 to_char

    Oracle to_char 函数详解 Oracle 的 to_char 函数是一个功能强大且灵活的格式化函数,能够将各种数据类型(日期/时间、整数、浮点数、数字)转换成格式化的字符串,并且能够从格式化的字符串转换回原始的数据类型。...

    oracle-sql基本语法例子,包括to_date,to_char

    总结的sql语法,其中包括一些函数的用法,to_date,to_char,to_number等等函数

    Oracle to_date() 用法细节.txt

    本文将详细介绍 `to_date()` 的使用方法、参数格式以及常见问题解决方法。 #### 二、基本语法与格式 `to_date()` 函数的基本语法如下: ```sql TO_DATE (expression, format_mask) ``` 其中: - `expression`: ...

    Oracle中TO_DATE、TO_CHAR,Oracle函数大全

    总之,Oracle的`TO_DATE` 和 `TO_CHAR` 函数是数据库操作中必不可少的部分,理解并熟练使用它们以及其他的Oracle函数,可以极大地提高数据处理的效率和准确性。通过不断学习和实践,可以深入掌握这些函数的用法,...

    oracle to_char function

    Oracle的`to_char`函数是一个强大的格式化工具,它允许用户将数据库中的日期、数值、时间等数据类型转换为格式化的字符串。这个函数在PL/SQL编程中非常常见,可以帮助开发人员按照特定的样式和格式展示数据,提高...

    Oracle to_char函数的使用方法

    除了Oracle,PostgreSQL也提供了一套类似的格式化函数,例如`to_char`、`to_date`、`to_timestamp`和`to_number`。这些函数在PostgreSQL中的使用方式和Oracle类似,但可能在某些细节上有所不同,例如PostgreSQL中的...

    oracle to_char函数将number转成string

    Oracle的`to_char`函数是数据库操作中非常重要的一个转换函数,它允许我们将数据库中的DATE或NUMBER类型的数据转换成字符串格式,以便于显示或者进一步处理。这个函数的主要用途在于格式化输出,使得数据显示得更加...

    Oracle中实现datadiff函数

    DATEDIFF('D', startDate, endDate) * 24 * 60 * 60 + (TO_NUMBER(TO_CHAR(CDateTime(endDate), 'SS')) - TO_NUMBER(TO_CHAR(CDateTime(startDate), 'SS'))) ELSE -29252888 END INTO reallyDoNumeric FROM ...

    oracle使用to_date查询一周的第一天日期

    代码如下:CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS v_first_date char(10); v_date_of_week number(1); BEGIN select to_char(to_date(substr(a_week, 1, 4) || ‘0101’,...

    oracle学习笔记

    to_number(to_date(to_char(d.surmon,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01 8:0:0', 'yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 from ( SELECT case to_number(to_char...

    oracle中varchar与date的转换,number与varchar的转换.pdf

    使用 to_char 函数可以将 date 类型转换为 varchar 类型。例如: ```sql select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; ``` 这将当前系统日期和时间转换为字符串形式。 2. varchar 转 date 使用 ...

    Oracle Date常用方法封装

    Oracle Date常用方法封装通常涉及对日期的计算、格式化以及与时间戳的转换等操作。在Oracle环境中,我们可以通过PL/SQL来实现这些功能,将常用的方法封装到一个PackageBody中,以便在项目中方便地复用。下面我们将...

    oracle中关于取时间的SQL语句.pdf

    TO_NUMBER(TO_CHAR(TRUNC(SYSDATE, 'yyyy'), 'd')) year_week_day, ... FROM ... ``` 2. **计算当月的第几周**: 这个例子展示了如何找出指定日期在月份中的周数。首先,找到当月的第一天,然后计算该日期与...

    PL_SQL生成日期维度表

    v_date_key := TO_NUMBER(TO_CHAR(TO_DATE(TO_CHAR(dDate, 'yyyy-mm-dd'), 'yyyy-mm-dd'), 'yyyymmdd')); v_date_value := TO_DATE(TO_CHAR(dDate, 'yyyy-mm-dd'), 'yyyy-mm-dd'); v_date_short := TO_CHAR(dDate...

    oracle函数大全(分类显示).zip_Oracle 函数分类_oracle_oracle函数分类_oracle函数查阅用文档

    TO_CHAR、TO_NUMBER、TO_DATE等,用于在不同数据类型间转换。TO_CHAR将数值或日期转换为字符串,TO_NUMBER将字符串转换为数字,TO_DATE则将字符串转换为日期。 5. **聚合函数**: COUNT、SUM、AVG、MAX、MIN,...

    Oracle特色函数与复杂更新应用.pptx

    常见的转换函数包括 TO_CHAR、TO_NUMBER、TO_DATE 等。 * TO_CHAR 函数:用于将日期或数字转换为字符类型。格式为 TO_CHAR(date, 'format_model'),其中 format_model 是一个字符串,指定了转换的格式。 * TO_...

    Oracle时间日期操作

    Oracle 中可以使用 to_char 函数和其他函数来将日期和时间转换为其他格式。例如,可以使用 to_char 函数将秒转换为天、小时和分钟。 例如,使用 to_char 函数可以将 936000 秒转换为天、小时和分钟:select to_char...

    Oracle数据库日期遍历功能的实现.pdf

    totalDay := to_number(last_day(to_date(firstYear || '-' || to_char(id) || '-01', 'yyyy-mm-dd'))); -- 日期遍历 for dayId in 1..totalDay loop v_date.day := to_char(substr(firstDay, 1, 7) || '-' || ...

    Oracle时间操作大全.pdf

    * SELECT CASE WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN ' ' WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN '' WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND...

Global site tag (gtag.js) - Google Analytics