前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle日期处理

Oracle日期处理

作者头像
WindCoder
发布2020-02-10 13:20:36
1.2K0
发布2020-02-10 13:20:36
举报
文章被收录于专栏:WindCoderWindCoder

TO_CHAR

to_char函数的功能是将数值型或者日期型转化为字符型,这里仅涉及其后者功能。

官方描述: TO_CHAR (datetime) converts a datetime or interval value of DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, or TIMESTAMP WITH LOCAL TIME ZONE datatype to a value of VARCHAR2 datatype in the format specified by the date format fmt. TO_CHAR (datetime)

语法

代码语言:javascript
复制
    to_char(date,'YYYY/MM/DD') 

示例

代码语言:javascript
复制
    select  to_char(sysdate, 'YYYY/MM/DD' )  FROM  DUAL;

结果

代码语言:javascript
复制
2019/04/11

日期常用格式

格式不区分大小写,分割线可自行定义,这里使用“/”为例:

日期格式

说明

YYYY/MM/DD

年/月/日

YYYY/MM

年/月

MM

月份

DD

日期

D

从星期日算起,一星期中的第n天。即星期日 = 1; 星期一 = 2; 星期二 = 3;星期三 = 4; 星期四 = 5; 星期五 = 6; 星期六 = 7;

DDD

一年中的第n天

WW

一年中的第n周

W

一个月中的第n周

Q

一年中的第n季度

YYYY/MM/DD HH24:MI:SS

年/月/日 時(24小時制):分:秒

YYYY/MM/DD HH:MI:SS

年/月/日 時(非24小時制):分:秒

TO_DATE

Oracle TO_DATE 函数将字符串或表达式转换为日期值。

官方描述: TO_DATE converts char of CHAR, VARCHAR2, NCHAR, or NVARCHAR2 datatype to a value of DATE datatype. The fmt is a datetime model format specifying the format of char. If you omit fmt, then char must be in the default date format. If fmt is J, for Julian, then char must be an integer. TO_DATE

TRUNC

TRUNC(date)函数返回date当天的时间部分被格式模型fmt截断到指定的单位

返回的值始终为数据类型DATE,即使您为该date指定了不同的datetime数据类型。如果省略fmt,则date截断到最近的一天。

官方描述: The TRUNC (date) function returns date with the time portion of the day truncated to the unit specified by the format model fmt. The value returned is always of datatype DATE, even if you specify a different datetime datatype for date. If you omit fmt, then date is truncated to the nearest day. TRUNC (date)

示例

代码语言:javascript
复制
select trunc(sysdate)         from dual  --2019-04-11 00:00:00  今天的日期为2019-04-11
select trunc(sysdate, 'mm')   from dual  --2019-04-01 00:00:00  返回当月第一天.
select trunc(sysdate,'yy')    from dual  --2019-01-01 00:00:00  返回当年第一天
select trunc(sysdate,'dd')    from dual  --2019-04-11 00:00:00  返回当前年月日
select trunc(sysdate,'yyyy')  from dual  --2019-01-01 00:00:00  返回当年第一天
select trunc(sysdate,'d')     from dual  --2019-04-07 00:00:00  返回当前星期的第一天 (星期天为星期的第一天)
select trunc(sysdate, 'hh')   from dual  --2019-04-11 19:00:00  当前时间为19:20 
select trunc(sysdate, 'mi')   from dual  --2019-04-11 19:16:00  精确到分钟,TRUNC()函数没有秒的精度

EXTRACT

EXTRACT从日期时间或间隔值表达式中提取并返回指定日期时间字段的值。

官方描述: EXTRACT extracts and returns the value of a specified datetime field from a datetime or interval value expression. When you extract a TIMEZONE_REGION or TIMEZONE_ABBR (abbreviation), the value returned is a string containing the appropriate time zone name or abbreviation. When you extract any of the other values, the value returned is in the Gregorian calendar. When extracting from a datetime with a time zone value, the value returned is in UTC. For a listing of time zone names and their corresponding abbreviations, query the V$TIMEZONE_NAMES dynamic performance view. EXTRACT (datetime)

代码语言:javascript
复制
    extract(expression   from   date) 

示例

代码语言:javascript
复制
    select extract(year from sysdate) FROM  DUAL;

结果

代码语言:javascript
复制
2019

条件expression说明

expression

说明

year

年度

month

月份

day

日期

参考

Oracle Database Online Documentation10g Release 2 (10.2)

ORACLE时间字段取年、月、日、季度

oracle时间函数(包括截取时间)

Oracle 查询时间在当天的数据

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TO_CHAR
    • 日期常用格式
      • TO_DATE
      • TRUNC
        • 示例
        • EXTRACT
          • 条件expression说明
          • 参考
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档