GreenPlum 时间转换函数
從date、timestamp、time、interval類型中抽取子域值
方法一:extract
extract函數從日期、時間數值里抽取子域,例如年、小時等。
格式:
extract(field from source)?
source:date、timestamp、time、interval類型的值;
field:是一個標識符或者字符串,指定所抽取的域,可以是表示時間的任意值,如century、day、hour、month、minute等;
from:固定標志符。
示例:獲取time類型中hour值域的數據
select extract(hours?from time '10:20:30');
方法二:date_part
date_part函數是仿照傳統的Ingres函數,等效于 SQL 標準函數extract。
格式:
date_part('field', source)?
source:date、timestamp、time、interval類型的值;
field:必須為字符串,可取值century、day、hour、month、minute等。
示例:獲取time類型中hour值域的數據
select date_part('hours',time '10:20:30');
時間轉換函數
| 函數 | ? 返回值 | 說明 | 示例 |
| to_char(timestamp, text) | text | 將timestamp類型的值轉換為指定輸出格式的字符串 | select to_char(timestamp '2020-05-07 10:22:23', 'yyyy-MM-dd HH12:MI:SS') |
| to_char(interval, text) | text | 將interval類型的值轉換為指定輸出格式的字符串 | select to_char(interval '1 day 2 hour', 'dd hh12:mi:ss'); |
| to_date(text, text) | date | 將指定時間格式的字符串轉換成date類型的值 | to_date('2020-05-10 10:20:12','yyyy-mm-dd'); |
| to_timestamp(text, text) | timestamp | 將指定時間格式的字符串轉換成timestamp類型的值 | to_timestamp('2020-05-10 10:20:12','yyyy-mm-dd hh:mi:ss'); |
| to_timestamp(double) | timestamp | 將數值型的時間戳值轉換成timestamp類型的值 | to_timestamp(1588841590); |
| age(timestamp,timestamp) | interval | 計算兩個timestamp的差值 | age(timestamp '2020-05-05 10:22:21', timestamp '2020-03-04 19:26:21'); |
| age(timestamp) | interval | 計算current_date減去timestamp的差值 | age(timestamp '2020-03-04 19:26:21') |
SQL中定義的表示時間含義的字符
| Pattern | Description |
| hh | hour of day (01-12) |
| hh12 | hour of day (01-12) |
| hh24 | hour of day (00-23) |
| mi | minute (00-59) |
| ss | second (00-59) |
| ms | millisecond (000-999) |
| yyyy | year (4 and more digits) |
| mm | month number (01-12) |
| dd | day of month (01-31) |
| d | day of week (1-7; Sunday is 1) |
總結
以上是生活随笔為你收集整理的GreenPlum 时间转换函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触觉智能分享-修改Android开机动画
- 下一篇: 恶臭数字论证器 -- 简化版