获得Oracle中日期的年月日信息: 使用TRUNC函数(oracle中trunc)

Oracle 提供 TRUNC 函数, 可以用来精确的剥离日期中的年,月,日信息. 它的一般语法如下:

TRUNC( date, [fmt] )

其中 date 是需要格式化的日期;[fmt] 是可选参数,可以指定日期的格式化长度.

比如我们希望得到 ‘2020-06-02’ 这一日期的年, 月, 日的信息, 可以用以下几个语句来实现:

— MySQL (ver 8.0 or higher)

SELECT YEAR(‘2020-06-02’), MONTH(‘2020-06-02’), DAYOFMONTH(‘2020-06-02’);

— Oracle

SELECT TRUNC(DATE ‘2020-06-02’, ‘YEAR’),

TRUNC(DATE ‘2020-06-02’, ‘MONTH’),

TRUNC(DATE ‘2020-06-02’, ‘DAY’);

— PostgreSQL

SELECT DATE_PART(‘year’, ‘2020-06-02’),

DATE_PART(‘month’, ‘2020-06-02’),

DATE_PART(‘day’, ‘2020-06-02’);

此外, 还有很多其他日期格式的参数可供选择. 如 ‘IW’ 表示安排的一周的起始日期, ‘Q’ 则表示季度等等. 它们都可以被 TRUNC 函数用于获取日期的年月日信息.

例如:

SELECT TRUNC(DATE ‘2020-06-02’, ‘Q’) –返回 2020-04-01

SELECT TRUNC(DATE ‘


数据运维技术 » 获得Oracle中日期的年月日信息: 使用TRUNC函数(oracle中trunc)