kingbase kdb_date_function扩展插件使用

1. 插件kdb_date_function简介?

kdb_date_function是一个兼容mysql数据库date相关函数的扩展。

  • 插件名为 kdb_date_function

  • 插件版本 V1.1

2. 插件kdb_date_function加载方式?

启动KingbaseES数据库后执行SQL命令创建插件。

示例:

create extension kdb_date_function;

3. 插件kdb_date_function的参数配置?

无需配置任何参数。

4. 插件kdb_date_function的使用方法?

4.1. date_add?

date_add — 实现日期的相加

语法

date_add(ts timestamp, iv interval) 返回 timestamp。
date_add(tstz timestamptz, iv interval) 返回 timestamptz。

描述

date_add会实现timestamp或timestamptz与指定的interval进行相加的运算。

参数

iv:用于日期相加运算中的interval类型值。

ts:用于日期相加运算中的timestamp类型值。

tstz:用于日期相加运算中的timestamptz类型值。

返回值

返回计算完成的特定的日期类型值。

示例

select date_add('2000-10-10'::timestamp,interval '1 year');
        date_add
---------------------
2001-10-10 00:00:00
(1 行记录)

select date_add('2010-10-10 12:00:00'::timestamp,interval '1 year 1 day 2 hour');
        date_add
---------------------
2011-10-11 14:00:00
(1 行记录)

4.2. dateadd?

dateadd — 实现日期的相加

语法

dateadd(i_unit text, i_value numeric, i_date time) 返回 time。
dateadd(i_unit text, i_value numeric, i_date timestamp) 返回 timestamp。
dateadd(i_unit text, i_value numeric, i_date timestamptz) 返回 timestamptz。

描述

实现timestamp或timestamptz或time类型与指定的格式进行相加的运算。

参数

i_unit:指定要相加的i_value的格式。

i_value:指定要相加的数量。

i_date:指定被相加的日期。

返回值

返回计算完成的特定的日期类型值。

注解

i_unit的值可以为'second','minute','hour','day','week','month','year'等。

示例

select dateadd(year,9998,'0001-01-01 00:00:00'::timestamptz);
                dateadd
------------------------
9999-01-01 00:00:00+00
(1 行记录)

select dateadd(year,201,'1900-01-01 00:00:00'::timestamptz);
                dateadd
------------------------
2101-01-01 00:00:00+00
(1 行记录)

4.3. datediff?

比较两个日期之间的差距

语法

datediff(d1 date, d2 date) 返回integer。
datediff(t text, d1 date, d2 date) 返回int8。
datediff(t text, d1 time, d2 time) 返回int8。
datediff(t text, d1 timetz, d2 timetz) 返回int8。
datediff(t text, d1 timestamp, d2 timestamp) 返回int8。
datediff(t text, d1 timestamptz, d2 timestamptz) 返回int8。

描述

比较两个日期之间的指定的text(如果存在此**参数**)的格式的差距。

参数

t:指定的要返回的日期差距的格式。 d1,d2:进行比较的两个日期值。

返回值

返回text类型指定的格式的整数值。

注解

t的值可以使'second','minute','hour','day','week','month','year'等。

示例

select datediff('year','0001-01-01'::date,'9999-12-31'::date);
datediff
----------
        9998
(1 行记录)

select datediff('year','1900-01-01 00:00:00'::date,'2000-12-31 00:00:00'::date);
datediff
----------
        100
(1 行记录)

select datediff(month,'0001-01-01 00:00:00'::date,'9999-12-31 00:00:00'::date);
datediff
----------
119987
(1 行记录)

select datediff(month,'1900-01-01 00:00:00'::date,'2000-12-31 00:00:00'::date);
datediff
----------
        1211
(1 行记录)

select datediff('month','0001-01-01 00:00:00'::date,'9999-12-31 00:00:00'::date);
datediff
----------
119987
(1 行记录)

select datediff('month','1900-01-01 00:00:00'::date,'2000-12-31 00:00:00'::date);
datediff
----------
        1211
(1 行记录)

4.4. date_format?

得到指定日期的指定格式的值。

语法

date_format(d timestamp, t text) 返回 text。
date_format(d timestamptz, t text) 返回 text。

描述

返回日期类型值的text指定的格式。

参数

t:指定的要返回的日期的格式。

d:目标格式的值。

返回值

返回text指定的text类型的值。

注解

t的值可以是nls_date_format类型的所有值。

示例

select date_format('2000-10-10 12:00:00','mm-yyyy-dd hh24:mi:ss');
        date_format
---------------------
10-2000-10 12:00:00
(1 行记录)

5. 插件kdb_date_function卸载方法?

在数据库中执行SQL命令卸载插件。

示例:

drop extension kdb_date_function;

6. 插件kdb_date_function升级方法?

kdb_date_function扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。