全部產品
Search
文件中心

PolarDB:polar_utility

更新時間:Jul 06, 2024

本文介紹如何使用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)