Mysql

关注公众号 jb51net

关闭
首页 > 数据库 > Mysql > Mysql转PostgreSQL注意事项

Mysql转PostgreSQL注意事项及说明

作者:佛说"獨"

这篇文章主要介绍了Mysql转PostgreSQL注意事项及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Mysql转PostgreSQL注意事项

- ifnull()和COALESCE()

mysql--ifnull()
改pg--COALESCE()
ps:
mysql -- ifnull(a.audit_result, '')
pgsql -- COALESCE(a.audit_result, '')

- date_format()和to_date()

mysql--date_format()
改pg--to_date(),声明类型 ‘ ::text'
ps:
//pg数据库中不能使用'%',如 %y-%m-%d
to_date(create_time::text, 'YY-MM-DD')

- find_in_set()和ANY (string_to_array(‘’, ‘,’))

mysql--find_in_set()
改pg--ANY (string_to_array(some_column, ','))
ps:
SELECT t.dept_id FROM sys_dept t WHERE find_in_set('100', ancestors)
SELECT t.dept_id FROM sys_dept t WHERE '100' = ANY (string_to_array(ancestors, ','))

- sysdate()和now()

mysql--sysdate()
改pg--now()

- 模糊匹配

// 如果使用 concat参数,pg数据库需配置隐形转换类型
mysql-- like concat('%', #{testItem}, '%') 
改pg-- ilike '%'|| #{testItem} ||'%'  或  like concat('%', #{testItem}, '%') 

- GROUP_CONCAT()和string_agg()

mysql-- GROUP_CONCAT(t.cname)
改pg-- array_to_string(array_agg(t.cname),',') 或 string_agg(t.cname,',')

- locate()和strpos()

mysql-- locate()
改pg-- strpos()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文