教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

GBase 8a学习总结(4)

来源:网络收集 时间:2026-02-25
导读: 项目设计方案 在字符串前使用BINARY 操作符,可以使得参数值的比较区分大小写。 1.3.1.5.2 CAST和CONVERT函数 AS type) , CONVERT(expr,type) , CONVERT(expr CAST(expr USINGtranscoding_name) CAST()和CONVERT(

项目设计方案

在字符串前使用BINARY 操作符,可以使得参数值的比较区分大小写。 1.3.1.5.2

CAST和CONVERT函数

AS

type)

CONVERT(expr,type)

CONVERT(expr

CAST(expr

USINGtranscoding_name)

CAST()和CONVERT()函数可以用于将一个类型的数值转换到另一个类型。 type 可以是下列值之一:

CHAR、DATE、DATETIME、DECIMAL、TIME

CAST()和CONVERT(...USING...)是标准的SQL 语法。 CAST(str AS BINARY)等价于BINARY str。

CAST(expr AS CHAR)把表达式看作是默认字符集中的字符串。

注意:一个CAST()到DATE,DATETIME,或TIME 只是标识此列,使其变为一个指定的数据类型,而不是改变列的值。

CAST()的最终执行结果将会转化为正确的列类型。 1.3.2

控制流函数

1.3.2.1 CASE

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END

逐一匹配,当满足value=compare-value 时,返回对应的result,如果未找到匹配项,则返回ELSE 后的result。如果没有ELSE 子句,默认返回NULL。

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

逐一判断,当condition 为TRUE 时,返回对应的result,如果condition全为FALSE,则返回ELSE 后的result。如果没有ELSE 子句,默认返回NULL。

一个CASE 表达式的默认返回值类型是所有返回值的相容集合类型,具体情况视其所在语境而定:

? 如用在字符串语境中,则返回结果为字符串;

? 如用在数字语境中,则返回结果为十进制值的实数值或整数值。 1.3.2.2 DECODE

DECODE(value,value1,result1, value2,result2, value3,result3,... ,

14

项目设计方案

result)

类似于CASE value WHER value1 THEN value1,唯一区别是如果value 为null 值,可以和后面的null 值匹配。 1.3.2.3 IF(expr1,expr2,expr3)

如果expr1 为TRUE (expr1 <> 0 and expr1 <> NULL),则IF()的返回值为expr2;否则返回值为expr3。

IF()的返回值规则同CASE 表达式返回值的规则。 1.3.2.4 IFNULL(expr1,expr2)

如果expr1 不为NULL,则IFNULL()的返回值为expr1,否则其返回值为expr2。 IFNULL()的返回值是数字或是字符串,具体情况取决于使用它的上下文环境。等价于IF(expre1,expre1,expre2)。 1.3.2.5 NULLIF(expr1,expr2)

如果expr1 = expr2 成立,返回值为NULL,否则返回值为expr1。 等价于CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END。 1.3.3

字符串函数

在此列举几个应用比较多的字符串函数,如下: 1、CHAR_LENGTH(str)

返回字符串str 的字符长度,以字符进行计算。 2、CONCAT(str1,str2,...)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL,则返回值为NULL。

3、FIELD(str,str1,str2,str3,...)

如果str 等于str1 则返回1,如果str 等于str2 则返回2,依次向后进行比较。都不相等时,返回值为0。

如果所有对于FIELD()的参数均为字符串,则所有参数均按照字符串进行比较。 如果所有的参数均为数字,则按照数字进行比较。

如果str 为NULL,则返回值为0,原因是NULL 不能同任何值进行同等比较。FIELD()是ELT()的补数。

4、FIND_IN_SET(str,strlist)

15

项目设计方案

参数strlist 由字符?,?分隔的多个子串组成。

如果字符串str 在strlist 中,则返回匹配的位置,从1 开始。 如果字符串str 不在strlist 中或者strlist 是一个空串,返回值为0。 如果任何一个参数为NULL,返回值为NULL。 5、INSTR(str,substr)

返回子串substr 在字符串str 中第一次出现的位置。 注意,subtr 在sub 中的位置,以1 开始计数。 6、LOWER(str)

依照当前字符集设置映射,将字符串str 中的所有字符改变为小写形式。 7、UPPER(str)

依照当前字符集设置映射,将字符串str 中的所有字符改变为大写,然后返回该值。

UPPER()等价于UCASE()。 1.3.4

数值函数

1.3.4.1 算术操作符

常用的算术操作符均是可用的。

注意,如果两个参数均是整型,“-”,“+”和?“*”以BIGINT(64 位)精度运算并返回结果。

如果一个参数是无符号的整数,其他参数是整数,结果为无符号整数。 其中+、-、*、/算法和其他sql一样,整除%变为DIV。 DIV 整数除法

示例1:两个操作数都是整型。 gbase> SELECT 5 DIV 2 FROM t; +---------+ | 5 DIV 2 | +---------+ | 2 | +---------+ 1 row in set

16

项目设计方案

1.3.4.2 数学函数

在此列举几个应用比较多的数学函数,如下: 1、FLOOR(X)

返回不大于X 的最大整数值。

如果参数X 是NULL,则返回结果为NULL。 2、CEILING(X),CEIL(X) 返回不小于X 的最小整数。 3、MOD(N,M),N % M,N MOD M 取模。返回N 除以M 后的余数。 4、PI()

返回PI 值(圆周率)。默认显示6 位小数,但是在GBase 8a MPP Cluster内部,为PI 使用全部的双精度。

5、SIGN(X)

根据X 值是正数、0 还是负数,分别返回-1、0 或1。 6、TRUNCATE(X,D)

返回数值X 截取到D 位小数后的数字。 如果D 为0,结果将不包含小数点和小数部分。

如果D 为负数,表示截去(归零)X 值小数点左边第D 位开始后面所有低位的值。 1.3.5

日期和时间函数

本节描述可以用来操纵时间值的函数。参考日期和时间类型来获取每种日期和时间类型在有效格式下可以表达的值的范围。

在此列举几个应用比较多的日期和时间函数,如下: 1、CURDATE()

以?YYYY-MM-DD?或?YYYYMMDD?格式返回当前的日期值,返回的格式取决于该函数是用于字符串还是数字上下文中。

2、CURTIME()

以?HH:MI:SS?或?HHMISS?格式返回当前的时间值,返回的格式取决于该函数是用于字符串还是数字的上下文中。

17

项目设计方案

3、DATEDIFF(expr,expr2)

DATEDIFF()返回开始日期expr 和结束日期expr2 之间的天数。

expr 和expr2 是date 或者datetime 表达式。只有日期部分用于计算。如果用于计算日期间隔的参数不是一个date 或者datetime 类型,例如,TIME 型数据,计算结果是不可信的。

4、DAY(date)

返回date 是一个月中的第几天,范围为0 到31。 5、LAST_DAY(date)

返回date 中当前月对应的最后一天的值。 其中,date 为日期或日期时间类型。 如果参数date 无效,则返回NULL。 1.3.6

其他函数

其他的一些函数,包括位函数、加密函数、信息函数、辅助函数等等。 此处列举一些常用函数做一些介绍。 1.3.6.1 位函数

例如:|按位或、&按位与、^按位异或、<<左移操作(BIGINT)、>>右移操作(BIGINT)、BIT_COUNT(N) 1.3.6.2 加密函数

例如: 1、MD5(str)

为字符串计算一个128 位的MD5 校验和,结果作为32 位16 进制字符串返回,返回值可以用作哈希密钥。

如果参数NULL 则返回NULL。

2、SHA1(str),SHA(str)

按照RFC3174(安全 …… 此处隐藏:2073字,全部文档内容请下载后查看。喜欢就下载吧 ……

GBase 8a学习总结(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403042.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)