GBase 8a学习总结(4)
项目设计方案
在字符串前使用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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [综合文档]应答器设备技术规范(征求意见稿)A1
- [综合文档]教师 2012年高考政治试题按考点分类汇
- [综合文档]保险公司的总经理助理竞职演说
- [综合文档]卫生应急大练兵大比武活动考试--题库(
- [综合文档]徐州经济技术开发区总体规划环境影响报
- [综合文档]汉语拼音表(带声调)
- [综合文档]二年级 上 思维训练( 1~18)
- [综合文档]特色学校五年发展规划
- [综合文档]机床经常出现报警“X1轴定位监控”
- [综合文档]《电子技术基础》21.§5—2、3、4 习题
- [综合文档]浙江省深化普通高中课程改革
- [综合文档]CRISP原理 - 图文
- [综合文档]2017年电大社会调查研究与方法形考答案
- [综合文档]浅析建筑施工安全毕业论文
- [综合文档]《回忆我的母亲》名师教案
- [综合文档]装饰装修工程监理规划
- [综合文档]三下乡心得体会-文艺
- [综合文档]柱计算长度系数 - 图文
- [综合文档]全流程思考,提高燃电系统热电转换率--
- [综合文档]2018年嘉定区中考物理一模含答案
- 433M车库门滚动码遥控器
- 8、架空线路施工规范
- 大学四年声乐学习的体会
- 新北师大版五年级数学上册《轴对称再认
- 部编版五年级上册语文第六单元小结复习
- 小学六年级英语形容词用法
- 第2课 抗美援朝保家卫国 课件01(岳麓版
- 2015年天津大学运筹学基础考研真题,考
- 微机计算机控制技术课后于海生(第2版)
- 安全教育实践活动
- Delphi程序设计教程_第1章_Delphi概述
- 第八讲 工业革命与启蒙运动
- 《中华人民共和国药典》2005年版二部勘
- 科粤版九年级化学2.3构成物质的微粒(1)
- 西师大版数学三年级下册《长方形、正方
- ch6_冒泡排序演示
- 第4章 冲裁模具设计
- 浙江中小民营企业员工流失论文[终稿]
- 再议有线数字电视市场营运模式
- 昆明供水工程监理大纲




