DATE_PART 函数
DATE_PART 从表达式中提取日期部分值。DATE_PART 是 PGDATE_PART 函数的同义词。
语法
DATE_PART(datepart, {date|timestamp})
Arguments
- datepart
-
函数运行的日期值的特定部分(例如年、月或日)的标识符文本或字符串。有关更多信息,请参阅日期或时间戳函数的日期部分。
- {date|timestamp}
-
日期或时间戳列,或隐式转换为日期或时间戳的表达式。表达式必须是包含指定日期部分的日期或时间戳表达式。
返回类型
DOUBLE
示例
DATE_PART 函数的原定设置列名是 pgdate_part。有关以下示例中使用的数据的更多信息,请参阅示例数据库。
以下示例从时间戳文本中查找分钟。
SELECT DATE_PART(minute, timestamp '20230104 04:05:06.789');pgdate_part 5
以下示例从时间戳文本中查找周编号。周编号计算遵循 ISO 8601 标准。有关更多信息,请参阅 Wikipedia 中的 ISO 8601
SELECT DATE_PART(week, timestamp '20220502 04:05:06.789');pgdate_part 18
以下示例从时间戳文本中查找月份中的某个日期。
SELECT DATE_PART(day, timestamp '20220502 04:05:06.789');pgdate_part 2
下面的示例从时间戳文本中查找星期几信息。周编号计算遵循 ISO 8601 标准。有关更多信息,请参阅 Wikipedia 中的 ISO 8601
SELECT DATE_PART(dayofweek, timestamp '20220502 04:05:06.789');pgdate_part 1
以下示例从时间戳文本中查找世纪。世纪计算遵循 ISO 8601 标准。有关更多信息,请参阅 Wikipedia 中的 ISO 8601
SELECT DATE_PART(century, timestamp '20220502 04:05:06.789');pgdate_part 21
以下示例从日期文本中查找月份。
SELECT DATE_PART(month, date '20220502');pgdate_part 5
以下示例将 DATE_PART 函数应用于表中的列。
select date_part(w, listtime) as weeks, listtime from listing where listid=10; weeks | listtime ------+--------------------- 25 | 2008-06-17 09:44:54 (1 row)
您可以用全名或缩写来命名日期部分;在这种情况下,w 代表星期数。
星期日期部分返回一个从 0-6 整数,从星期日开始。将 DATE_PART 与 dow (DAYOFWEEK) 结合使用以查看星期六的活动。
select date_part(dow, starttime) as dow, starttime from event where date_part(dow, starttime)=6 order by 2,1; dow | starttime -----+--------------------- 6 | 2008-01-05 14:00:00 6 | 2008-01-05 14:00:00 6 | 2008-01-05 14:00:00 6 | 2008-01-05 14:00:00 ... (1147 rows)