本文介绍如何使用polar_utility插件。
创建或删除插件
创建插件语法如下:
CREATE extension polar_utility;
删除插件语法如下:
DROP extension polar_utility;
准备测试数据
创建一个名为polar_test_interval_func
表,并在表中插入数据。示例如下:
CREATE TABLE polar_test_interval_func(a interval);
INSERT INTO polar_test_interval_func
VALUES (interval '1.1 hour'),
(interval '2.1 day'),
(interval '3.1 month'),
(interval '4.3 year'),
(('11-AUG-20 03:16:09.089308'::timestamp - 1) - '11-AUG-20 03:16:09.089308'::timestamp),
(('11-AUG-20 03:16:09.089308'::timestamp + 3) - '11-AUG-20 03:16:09.089308'::timestamp);
to_number(interval)
将interval类型转换为天数对应的整数。
示例如下:
SELECT to_number(a) FROM polar_test_interval_func;
返回示例如下:
to_number
-------------------------
0.04583333333333333333
2.1000000000000000
93.0000000000000000
1551.0000000000000000
-1.00000000000000000000
3.0000000000000000
(6 rows)
trunc(interval)
将interval转换为天数对应的整数,并对其结果保留整数部分。
示例如下:
SELECT trunc(a) FROM polar_test_interval_func;
返回示例如下:
trunc
-------
0
2
93
1551
-1
3
(6 rows)
abs(interval)
将interval转换为天数对应的整数,并对结果取绝对值。
示例如下:
SELECT abs(a) FROM polar_test_interval_func;
返回示例如下:
abs
------------------------
0.04583333333333333333
2.1000000000000000
93.0000000000000000
1551.0000000000000000
1.00000000000000000000
3.0000000000000000
(6 rows)
to_char(interval)
将interval转换为天数对应的整数,并将结果转换为字符串类型。
示例如下:
SELECT to_char(a) FROM polar_test_interval_func;
返回示例如下:
to_char
-------------------------
0.04583333333333333333
2.1000000000000000
93.0000000000000000
1551.0000000000000000
-1.00000000000000000000
3.0000000000000000
(6 rows)
to_date(numeric, character varying)
将numeric类型转换为指定格式的date类型。
示例如下:
SELECT to_date('20200811','yyyymmddhh24miss');
返回示例如下:
to_date
--------------------------
Tue Aug 11 00:00:00 2020
(1 row)
to_date(timestamp without time zone)
返回date类型。
示例如下:
SELECT to_date('11-AUG-20 03:16:09.089308'::timestamp);
返回示例如下:
to_date
---------------------------------
Tue Aug 11 03:16:09.089308 2020
(1 row)
mod(text, text)
支持text类型的mod操作,默认将text类型转换为numeric取模。
示例如下:
SELECT mod('10'::text, '2'::text);
返回示例如下:
mod
-----
0
(1 row)
convert(text, text)
将字符串转换为指定编码的字符串返回。
示例如下:
SELECT convert('RAM is the new disk.', 'utf8');
返回示例如下:
convert
----------------------
RAM is the new disk.
(1 row)