`

to_number,to_char,to_date

阅读更多

oracle to_date,to_char,to_number 用法

24 小时的形式显示出来要用 HH24

select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

 

to_date() function

1. 日期格式参数 含义说明

D 一周中的星期几

DAY 天的名字,使用空格填充到 9 个字符

DD 月中的第几天

DDD 年中的第几天

DY 天的简写名

IW ISO 标准的年中的第几周

IYYY ISO 标准的四位年份

YYYY 四位年份

YYY,YY,Y 年份的最后三位,两位,一位

HH 小时,按 12 小时计

HH24 小时,按 24 小时计

MI 分

SS 秒

MM 月

Mon 月份的简写

Month 月份的全名

W 该月的第几个星期

WW 年中的第几个星期      1. 日期时间间隔操作

当前时间减去 7 分钟的时间

select sysdate,sysdate - interval '7' MINUTE from dual

当前时间减去 7 小时的时间

select sysdate - interval '7' hour from dual

当前时间减去 7 天的时间

select sysdate - interval '7' day from dual

当前时间减去 7 月的时间

select sysdate,sysdate - interval '7' month from dual

当前时间减去 7 年的时间

select sysdate,sysdate - interval '7' year from dual

时间间隔乘以一个数字

select sysdate,sysdate - 8 *interval '2' hour from dual

 

2. 日期到字符操作

select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual

select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual

select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual

参考 oracle 的相关关文档 (ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)

 

3. 字符到日期操作

select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual

具体用法和上面的 to_char 差不多。

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

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

oracle中的to_date参数含义

5.数字转化为字符

/* 
  FM :除空格  
  9999999.0099:允许小数点左边最大正数为7位,小数点右边最少2位,最多4位,且在第5位进行四舍五入 
*/  
Select TO_CHAR(123.0233,'FM9999999.0099') FROM DUAL


1.日期格式参数含义说明
D 一周中的星期几
DAY 天的名字,使用空格填充到9个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO标准的年中的第几周
IYYY ISO标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期     1.日期时间间隔操作
当前时间减去7分钟的时间
select sysdate,sysdate - interval ’7’ MINUTE from dual
当前时间减去7小时的时间
select sysdate - interval ’7’ hour from dual
当前时间减去7天的时间
select sysdate - interval ’7’ day from dual
当前时间减去7月的时间
select sysdate,sysdate - interval ’7’ month from dual
当前时间减去7年的时间
select sysdate,sysdate - interval ’7’ year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8 *interval ’2’ hour from dual
   2.日期到字符操作
select sysdate,to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm-dd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-ddd hh:mi:ss’) from dual
select sysdate,to_char(sysdate,’yyyy-mm iw-d hh:mi:ss’) from dual
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
   3. 字符到日期操作
select to_date(’2003-10-17 21:15:37’,’yyyy-mm-dd hh24:mi:ss’) from dual
具体用法和上面的to_char差不多。
   4. trunk/ ROUND函数的使用
select trunc(sysdate ,’YEAR’) from dual
select trunc(sysdate ) from dual
select to_char(trunc(sysdate ,’YYYY’),’YYYY’) from dual
    5.oracle有毫秒级的数据类型
--返回当前时间 年月日小时分秒毫秒
select to_char(current_timestamp(5),’DD-MON-YYYY HH24:MI:SSxFF’) from dual;
--返回当前时间的秒毫秒,可以指定秒后面的精度(最大=9)
select to_char(current_timestamp(9),’MI:SSxFF’) from dual;
   6.计算程序运行的时间(ms)
declare
type rc is ref cursor;
l_rc rc;
l_dummy all_objects.object_name%type;
l_start number default dbms_utility.get_time;
begin
for I in 1 .. 1000
loop
open l_rc for
’select object_name from all_objects ’||
’where object_id = ’ || i;
fetch l_rc into l_dummy;
close l_rc;
end loop;
dbms_output.put_line
( round( (dbms_utility.get_time-l_start)/100, 2 ) ||
’ seconds ...’ );

end;

分享到:
评论

相关推荐

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

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

    Oracle中TO_DATE、TO_CHAR,Oracle函数大全

    TO_CHAR(date_or_number, format_mask[, nls_territory]) ``` - `date_or_number`:要转换的日期或数值。 - `format_mask`:定义输出的格式。例如,'MM/DD/YYYY' 或 'FM9999.999'(货币格式)。 - `nls_territory`...

    Oracle to_char

    to_number('12,454.8-', '99G999D9S') 这将将字符串 "12,454.8-" 转换成一个数字类型。 模板语法 to_char 函数使用模板语法来指定格式化的规则。模板语法包括: * HH:一天的小时数(01-12) * HH12:一天的小时...

    Oracle to_date() 用法细节.txt

    ### Oracle to_date() 函数详解 #### 一、概述 `to_date()` 是 Oracle 数据库中的一个重要函数,用于将字符串转换为日期格式。在实际应用中,尤其在处理时间戳或者进行日期比较时非常有用。本文将详细介绍 `to_...

    row_number,根据多个字段过滤,partition by

    SELECT t.*, ROW_NUMBER() OVER (PARTITION BY name || idNumber || TO_CHAR(date, 'YYYYMMDD') ORDER BY id) AS rn FROM teacher t ) subquery WHERE rn = 1; ``` - **PARTITION BY** 子句中的`name || idNumber...

    PL/SQL 类型格式转换

    TO_NUMBER(char[,’format_model’]) 字符转换到数字类型 TO_DATE(char[,’format_model’]) 字符转换到日期类型 格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。 TO_CHAR...

    oracle to_char function

    SELECT to_char(125.8, '999D99') AS formatted_number FROM dual; ``` 这将把125.8转换为带有两位小数的字符串形式。 对于日期/时间模板,可以使用前缀和后缀进行进一步的定制。例如,`FM`前缀用于去除填充的空格...

    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...

    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 to_char函数将number转成string

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

    Oracle to_char函数的使用方法

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

    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中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使用to_date查询一周的第一天日期

    周使用IW方式计算,如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的... v_date_of_week number(1); BEGIN select to_char(to_date(substr(a_week, 1, 4) || ‘0101’, ‘yyyymmdd’), ‘D’) 

    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中关于取时间的SQL语句.pdf

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

    Oracle Date常用方法封装

    WHILE TO_CHAR(v_date, 'DY', 'NLS_DATE_LANGUAGE = AMERICAN') IN ('SAT', 'SUN') LOOP v_date := v_date + 1; END LOOP; ELSE WHILE TO_CHAR(v_date, 'DY', 'NLS_DATE_LANGUAGE = AMERICAN') IN ('SAT', 'SUN...

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

    TO_CHAR(date_or_numeric_expr, format_mask) ``` - **示例**: ```sql TO_CHAR(r.f_month, '09') ``` 此处将`f_month`字段中的月份转换为两位长度的字符形式,例如1月转换为"01"。 ##### 3. TO_DATE 函数 TO...

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

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

Global site tag (gtag.js) - Google Analytics