返回首页

gbase数据、南大通用产品文档:GBase8sWHEN NULL 条件下的简单的CASE 表达式

更新日期:2024年09月11日

如果selector值为NULL,则不能在WHEN NULL条件下被匹配,相反,可以在WHEN
boolean_expression IS NULL条件下使用CASE表达式搜索。
DECLARE
grade CHAR(1); -- NULL by default
appraisal VARCHAR2(20);
BEGIN
appraisal :=
CASE grade
WHEN NULL THEN 'No grade assigned'
WHEN 'A' THEN 'Excellent'
WHEN 'B' THEN 'Very Good'
WHEN 'C' THEN 'Good'
WHEN 'D' THEN 'Fair'
WHEN 'F' THEN 'Poor'
ELSE 'No such grade'
END;
DBMS_OUTPUT.PUT_LINE ('Grade ' || grade || ' is ' || appraisal);
END;

--Result:
--Grade is No such grade

函数说明
将字符串str 中的所有字符改变为小写形式。
示例
示例1:LOWER(str)等价于LCASE()。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
696
gbase> SELECT
LOWER('QUADRATICALLY'),LCASE('QUADRATICALLY') FROM
dual;
+------------------------+------------------------+
| LOWER('QUADRATICALLY') | LCASE('QUADRATICALLY') |
+------------------------+------------------------+
| quadratically
| quadratically
|
+------------------------+------------------------+
1 row in set

语法
GET_FORMAT(DATE|TIME|DATETIME,EUR'|'USA'|'JIS'|'ISO'|'INTERNAL')
返回一个格式字符串。
函数说明
这个函数可以与DATE_FORMAT()函数或STR_TO_DATE()函数进行组合。
对于参数DATE、DATETIME 和TIME,各有五种可能值,共计十五种格式字符
串:
表5- 24 函数调用与字符串格式
函数调用


GET_FORMAT(DATE,'USA')
'%m.%d.%Y'
GET_FORMAT(DATE,'JIS')
'%Y-%m-%d'
GET_FORMAT(DATE,'ISO')
'%Y-%m-%d'
GET_FORMAT(DATE,'EUR')
'%d.%m.%Y'
GET_FORMAT(DATE,'INTERNAL')
'%Y%m%d'
GET_FORMAT(DATETIME,'USA')
'%Y-%m-%d-%H.%i.%s'
GET_FORMAT(DATETIME,'JIS')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'ISO')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'EUR')
'%Y-%m-%d-%H.%i.%s'
GET_FORMAT(DATETIME,'INTERNAL')
'%Y%m%d%H%i%s'
GET_FORMAT(TIME,'USA')
'%h:%i:%s %p'
GET_FORMAT(TIME,'JIS')
'%H:%i:%s'
GET_FORMAT(TIME,'ISO')
'%H:%i:%s'
GET_FORMAT(TIME,'EUR')
'%H.%i.%S'
GET_FORMAT(TIME,'INTERNAL')
'%H%i%s'
说明
对于上述表中使用的说明符的作用,请参见“ 5.1.5.5.13
DATE_FORMAT(date,FORMAT)”中的表。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
797
示例
示例1:DATE_FORMAT()与GET_FORMAT()函数进行组合。
GET_FORMAT(DATE,'EUR')对应输出的格式为“%d.%m.%Y”。
gbase> SELECT
DATE_FORMAT('2020-08-30',GET_FORMAT(DATE,'EUR')) FROM dual;
+--------------------------------------------------+
| DATE_FORMAT('2020-08-30',GET_FORMAT(DATE,'EUR')) |
+--------------------------------------------------+
| 30.08.2020
|
+--------------------------------------------------+
1 row in set
示例2:STR_TO_DATE()与GET_FORMAT()函数进行组合。
GET_FORMAT(DATE,'USA')对应的输出格式为“%Y-%m-%d”。
gbase> SELECT
STR_TO_DATE('08.30.2020',GET_FORMAT(DATE,'USA')) FROM dual;
+--------------------------------------------------+
| STR_TO_DATE('08.30.2020',GET_FORMAT(DATE,'USA')) |
+--------------------------------------------------+
| 2020-08-30
|
+--------------------------------------------------+
1 row in set