14
2020
08

切换gaussDb中遇到的问题

    1.  执行出现如下错误:column "TASK.TASK_ID" must appear in the GROUP BY clause or be used in an aggregate function ,原因


                是:select的字段与Group by中的字段要一致或不一致的字段必须使用聚合函数;


        2.  MySQL中的ifnull函数用nvl函数替换;


        3.  limit 0,10 ---------->limit 10 offset 0;


        4.  find_in_set(operator, '1096,789') ---------->operator ~ concat('(', replace('1096,789', ',', '|'), ')');


        5.  不支持uuid(),可以自定义UUID函数,


CREATE OR REPLACE FUNCTION UUID() 


                RETURNS TEXT AS $$


                BEGIN


                    RETURN to_number(now()::text,'99999999999999999999999999999999999999999999999');


                END;


               $$ LANGUAGE plpgsql;


                ALTER FUNCTION UUID() OWNER TO GAUSSDBA;

        6.  字符串不能用双引号""括起来,只能用单引号'',例如:SELECT "" as local_path  ----------->SELECT '' as local_path


        7.  INSERT INTO  ON DUPLICATE KEY  ------------>REPLACE INTO


        8.  模糊查询,LIKE:区分大小写,ILIKE:不区分大小写,MySQL中查询默认不区分大小写,所以可以用ILIKE替换


        9.  GaussDB中认为null和空字符''是一样的,不支持a=''这种空字符判断,必须写成a is null


        10.  GaussDB中字符串比较时,注意字段类型要一致,例如CHAR是定长的,不足的补空格,和VARCHAR类型比较时就会有问题


        11. 单引号'转义,用一个单引号转义另一个'',例如xi''an

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。