1、不支持`符号
2、不支持find_in_set方法 需要自定义函数来解决(已解决)
3. 不支持 date_format 函数
4、日期加减需要使用 ADD_DAYS、ADD_MONTHS、ADD_WEEKS等方法
5、使用group by语法与oracle相同,需要查询字段与group by后面的一致(mysql 中的聚合可以采用 select * from 表 where 主键 in (select min(主键) from 表 group by mysql中的聚合字段)形式进行替换)
6、使用blob类型的,无法像MySQL进行强转为字符串,需要重写映射类(已解决)
7、使用CONVERT方法,mysql为CONVERT(value, type),达梦为CONVERT(type,value)
8、where条件中如果是筛选条件和列名相同则使用单引号
9、查询结果要重命名为关键字时,将关键字用双引号引起来,否则达梦会自动处理为大写
DATE_FORMAT()函数
以date_format函数为例,MySQL中的date_format函数可以在DM数据库中使用to_char或to_date函数改写,改写后在达梦中可以达到相同的效果,示例如下:
--MYSQL
select date_format(sysdate(), '%Y年%m月') from dual
--DM
select translate(to_char(sysdate, 'yyyy-mm#'),'-#','年月') from dua
--MYSQL
select DATE_FORMAT(C_FIRST_TIME,'%Y-%m-%d %H') FROM DUAL;
--DM
select TO_CHAR(C_FIRST_TIME, 'YYYY-MM-DD HH24') FROM DUAL;