• gbase 8a 基础语法概念问题


    普通自定义函数与 UDF 函数区别
    问题现象
    普通自定义函数与 UDF 函数区别。
    解决方法
    普通自定义函数通过“ select * from gbase.proc\G ”查看,普通自定义函数属于
    特定的数据库。
    普通自定义函数在创建、删除时,必须指定数据库,不然会报错。
    udf 函数通过“ select * from gbase.func\G ”查看, udf 函数相当于全局函数。
    udf 函数创建、删除时,指定或不指定数据库都行。
    case_when 不区分大小写
    问题现象 GBase 8a MPP Cluster FAQ FAQ
    文档版本(2021-04-02) 南大通用数据技术股份有限公司
    84
    gbase> select * from t ;
    +------+------+
    | id | name |
    +------+------+
    | 1 | a |
    | 2 | A |
    +------+------+
    2 rows in set (Elapsed: 00:00:00.00)
    gbase> select id, name, case when name = 'a' then 'lower' else 'upper'
    end from t where name = 'a';
    +------+------+------------------------------------------------------+
    | id | name | case when name = 'a' then 'lower' else 'upper' end |
    +------+------+------------------------------------------------------+
    | 1 | a | lower |
    +------+------+------------------------------------------------------+
    1 row in set (Elapsed: 00:00:00.00)
    gbase> select id, name, case when name = 'a' then 'lower' else 'upper'
    end from t where name = 'A';
    +------+------+------------------------------------------------------+
    | id | name | case when name = 'a' then 'lower' else 'upper' end |
    +------+------+------------------------------------------------------+
    | 2 | A | lower |
    +------+------+------------------------------------------------------+
    1 row in set (Elapsed: 00:00:00.00)
    解决方法:
    一、对于老表
    1、可以删除,重建,加上 collate utf8_bin 如: create table ** default
    character set utf8 collate utf8_bin
    2、增加 binary 关键字改写。如: select case binary b where ......
    二、对于要新建的表
    1、修改集群层和节点层的配置文件, collation-server=utf8_bin
    2、建表时加上 collate utf8_bin 如:
    create table ** default character set
    utf collate utf8_bin
    注:同样的情况不仅会出现在 case when 中,只要是出现在 select 字段后的投
    影列涉及到字符串比较的问题都会有因为字符集原因导致的字符串比较问题。参考
    mySql 数据库对于字符串比较的处理方式,目前 8a 的处理方式合理,不需要进行修
    改,若用户需要对大小写敏感,请指定字符集或者加入关键字 binary 即可达到效
    果。
  • 相关阅读:
    DFER-CLIP——使用创新视觉语言模型进行动态面部表情识别
    加载.md文件
    编程实例:多人同时计时计费管理系统软件,可适用于钓场计时等管理
    AcrelEMS能效管理平台为高层小区用电安全保驾护航
    CUDA+cuDNN+TensorRT 配置避坑指南
    代理模式详细讲解
    Mysql 子查询,最值查询
    【无标题】
    体验 Shifu 解决报错流程
    浮点数精度、域宽、填充
  • 原文地址:https://blog.csdn.net/m0_49291452/article/details/126400400