达梦数据库一般是国产化适配选择的一种数据库,最近做这方面是的适配,感觉是基于oracle所开发的一种数据库,对mysql兼容性并不强,现在列一下需要注意的内容。
1.ORDER BY项不在DISTINCT查询项中
这种问题比较常见,DISTINCT的查询项需要在ORDER BY项,这种得根据业务实际修改。
2.GRUOP BY 字段需要跟select字段对应上
跟ORDER BY类似,GRUOP BY中的字段要出现在select字段中。
3.str_to_date()函数不适用
改为 to_date() 函数,参数也需要修改。
4.group_concat()函数不适用
改为 wm_concat() 或者 LISTAGG(name,’,’) GROUP_CONCAT后面的order by也不适用
5.convert(value,type)函数
达梦中的convert和mysql的使用方式是相反的。
换为convert(type,value)
6.if()函数
改为case when
7.FIND_IN_SET()函数
自建函数
CREATE OR REPLACE FUNCTION FIND_IN_SET
(
piv_str1 varchar2,
piv_str2 varchar2,
p_sep varchar2 := ',')
RETURN NUMBER