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()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。