获得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 ‘