kingbaseV7-时间日期和数组函数

5.6. 日期和时间函数
    日期和时间函数是用于日期和时间获取,日期和时间运算等操作的函数集。
AGE 参数 expr1 减去参数 expr2,生成一个两个日期/时间的间隔值
CLOCK_TIMESTAMP  返回当前的日期和时间
CURRENT_DATE  得到事务开始时的日期(机器时间)。
CURRENT_TIME
CURRENT_TIMESTAMP   得到当前事务开始时系统的日期和时间(机器时间)
DATEADD    日期加法
DATEDIFF   两日期差距
DATEPART/EXTRACT    取日期时间中的某部分,第一个参数指定要取的部分。
DATE_TRUNC   截取日期成指定的精度(精度由第一个参数指定)。
DATE_FORMAT  根据 expr2 格式化 expr1 的值。
ISFINITE   测试指定时间是否为有效时间
LOCALTIME/LOCALTIMESTAMP  得到当前事务开始时系统的时间(机器时间)。
NOW      返回当前事务开始的日期和时间,等效于CURRENT_TIMESTAMP。
STATEMENT_TIMESTAMP   返回当前(批处理)语句开始执行的日期和时间
STR_VALID  判断所给定的表达式是否为正确的日期时间
SYSDATE   得到事务开始时系统的日期。
SYSTIMESTAMP
TIMEOFDAY   返回当前的高精度日期和时间。
TRANSACTION_TIMESTAMP  返回当前事务开始的日期和时间。
ADD_MONTHS   返回expr1加上expr2个月的日期时间值。
NEXT_DAY  返回expr1日期后的第一个由参数expr2命名的日期,参数expr2的值必须在周一到周日范围中,可以是全称或简称
LAST_DAY   返回expr1所在月份中的最后一天的日期。
DATETIME_ADD_MONTHS  返回expr1加上expr2个月的日期时间值。
DATETIME_NEXT_DAY  返回expr1日期时间后的第一个由参数expr2命名的日期,参数expr2的值必须在周一到周日范围中,可以是全称或简称
DATETIME_LAST_DAY  返回expr1所在月份中的最后一天的日期。

5.7. 数组函数
5.7.1. UNNEST
功能:
将输入的数组转换成一组行数据输出,数组的每个元素作为一行;
如果是多维数组,先将多维数组转换成一维数组,然后在转换成行输出。
ARRAY_FILL   通过指定的值,初始化指定维数的数组的指定个元素
ARRAY_NDIMS  返回指定数组的维数。
ARRAY_LENGTH   返回指定数组的指定维数的长度。
ARRAY_AGG   输入值,包括空,连接到一个数组。

5.8. 类型转换函数
    类型转换函数,通常又称格式化函数,用于把各种数据类型(日期/时间,INTEGER,FLOAT,NUMERIC等
转换成格式化的字符串,以及反过来从格式化的字符串转换成指定的数据类型
CAST    把源数据转换为目标类型的数据。
TREAT  把源数据转换为目标类型的数据。
TO_CHAR  根据 expr1 的类型和 expr2 的模板结构,将 expr1 转换为字符串。
TO_DATE   把字符串转换成DATE型。
TO_TIMESTAMP  把字符串转换成 TIMESTAMP WITHOUT TIME ZONE 型。
TO_TIMESTAMP_TZ  把字符串转换成 TIEMSTAMP WITH TIME ZONE 型。
TO_NUMBER  把字符串转换成数值型。
CONTAINS
依据参数expr3所给出的全文检索的配置信息,以参数expr2为查询条件在参数expr1中进行匹配查找,
如果找到则返回true,否则返回false

5.9. 全文检索函数
to_tsvector
将文档转化为tsvector类型,它首先将原文文档的单词解析为单个的记号(token),
然后将这些记号(token)处理成若干个词(lexeme),最终返回tsvector类型的数据。
length  返回在tsvector中的词(lexeme)的个数。
setweight  给tsvector中每个词指定权重。
ts_strip  去掉expr中的位置与权重信息。
to_tsquery  将一个文本查询转化为tsquery类型。
plainto_tsquery  将一个非tsquery格式的查询转化成数据格式为tsquery类型
numnode   返回在tsquery中的结点数
querytree  返回tsquery中可以用作全文检索条件的内容。
ts_rank  返回一个指定查询条件在各文档中的出现次数的排名。
ts_headline  返回文档中的一段摘要,并且在这段摘要中高亮显示查询条件中的单词。
ts_rewrite   修改expr1类型的查询,使用给定串expr3来代替串expr1中的子串expr2。
get_current_ts_config  得到当前缺省的全文检索的配置文件类型。
contains 依据参数expr3所给出的全文检索的配置信息,以参数expr2为查询条件在参数expr1中进行匹配查找
ts_stat   用于查看文档中每个词条的统计情况

5.10.1. 二进制字串函数
GET_BIT   从字串中抽取位。
GET_BYTE  从字串中抽取字节
SET_BIT   设置字串中的位
SET_BYTE  设置字串中的字节。
EMPTY_BLOB   产生一个空的BLOB对象。
EMPTY_CLOB  产生一个空的CLOB对象。

5.10.2. 序列操作函数
NLSSORT  按照特定语言的要求进行排序。此函数与Oracle相兼容。
CURRVAL  返回序列的当前数值。
NEXTVAL  递增序列并返回新值
SETVAL   设置序列的当前数值以及 is_called 标志。
LASTVAL  返回当前会话上次使用的序列的当前值
INCREMENTVAL  返回指定序列的步长。
SEEDVAL    返回指定序列的开始值。

5.10.3. 条件表达式
CASE
语法格式:
CASE WHEN < Condition > THEN < Result >
     [ WHEN ... ]
     [ ELSE < Result > ]
END
功能:
类似于编程语言中的if-then-else结构,CASE是SQL中的条件表达式。
CASE可以用于任何可以出现表达式的地方。

DECODE
语法格式:DECODE (Expression, Search, Result [, Search, Result, ...])
比较表达式 Expression 和搜索字 Search,如果匹配,返回该 Search 对应的 Result;
如果不匹配,返回 Default 值;如果未定义 Default 值,则返回空值。

COALESCE  返回参数中第一个不是NULL的值。如果所有参数的值都是NULL,则返回NULL
ISNULL  当expr1为NULL时,用expr2代替本函数式的值;否则本函数的值保持expr1的原值。
ISNUMERIC  判断expr1是否是有效数值类型。
IF
语法格式:
IF(expr1 INT兼容类型, expr2 任意类型, expr3 任意类型)
功能:
如果expr1 不为 NULL并且expr1不等于0,返回expr2作为结果,否则返回expr3。
NULLIF   如果Value1的值和Value2的值相等,则返回NULL。否则返回Value1。
NVL  当 expr1 为 NULL 时,用 expr2 代替本表达式的值;否则本函数的值保持 expr1 的原值。
GREATEST  返回数值型列表中的最大值
LEAST   返回数值型列表中的最小值

安全函数   
HAS_DATABASE_PRIVILEGE   用户是否有数据库的相关权限。
HAS_FUNCTION_PRIVILEGE  用户是否有函数的相关权限。
HAS_SCHEMA_PRIVILEGE   用户是否有模式的相关权限。

5.10.5. 系统信息函数
COL_DESCRIPTION   返回表中指定列的注释信息
table_oid是指定表的OID,该数值存储在系统表SYS_CLASS中
CONNECTIONS   返回数据库服务器当前的用户连接数。
CURRENT_DATABASE  得到目前执行环境下的数据库名。
CURRENT_ROLE   得到目前执行环境下的角色名
CURRENT_SCHEMA  得到目前执行环境下的模式名
CURRENT_SCHEMAS  系统搜索路径中的所有模式名。
CURRENT_SETTING  返回该项参数的当前设置值。
CURRENT_USER   得到目前执行环境下的用户名。
GETDATABASEENCODING  返回当前连接数据库使用的编码。
GETUSERNAME   得到目前执行环境下的用户名,等同于函数 CURRENT_USER
OBJ_DESCRIPTION  返回除数据库和角色之外的其他对象的注释信息
SESSION_ID   返回当前会话的ID
SESSION_USER   得到目前执行环境下的会话用户名
SET_CONFIG   将参数setting_name设置为new_value并返回新值
SYS_BACKEND_PID   返回当前连接的PID
SYS_CLIENT_ENCODING  返回当前客户端编码名称。
UID   得到目前执行环境下的用户 ID
USER  得到目前执行环境下的用户名,等效于CURRENT_USER。
VERSION  查看KingbaseES的版本信息。

加密函数
ENCRYPT   实现数据加密功能
DECRYPT_TO_TEXT  实现数据解密功能。
DECRYPT_TO_BYTEA   实现数据解密功能

层次查询函数
SYS_CONNECT_BY_PATH
层次查询返回的结果集中,此函数返回从根元组到当前元组的路径,
这个路径是由char字符分隔的在各个元组上计算的Expression的值连接构成的

批量加载函数   
批量加载函数用于快速加载数据
BULKLOAD  依照配置文件中指定的信息快速加载数据。

6. 表达式
6.1. 值表达式
    值表达式(ScalarExpression)的结果是一个数值
值表达式中通常包含以下的元素:常量、列名、操作符、函数等。
6.2. 表达式列表
    用括号将若干表达式括起来称为表达式列表(ExpressionList), 格式如下:
    表达式列表:  (<Expression> [, ...n]) 
6.3. 条件
    条件表达式的计算结果是TRUE、FALSE或未知, 它是表达式与逻辑操作符的组合

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值