开发者

Mysql转PostgreSQL注意事项及说明

开发者 https://www.devze.com 2024-11-01 09:03 出处:网络 作者: 佛说"獨"
目录mysql转PostgreSQL注意事项- ifnull()和COALESCE()- date_format()和to_date()- find_in_set()和ANY (string_to_array(‘’, ‘,’))- sysdate()和now()- 模糊匹配- GROUP_CONCAT()和string
目录
  • mysql转PostgreSQL注意事项
    • - ifnull()和COALESCE()
    • - date_format()和to_date()
    • - find_in_set()和ANY (string_to_array(‘’, ‘,’))
    • - sysdate()和now()
    • - 模糊匹配
    • - GROUP_CONCAT()和string_agg()
    • - locate()和strpos()
  • 总结

    Mysql转PostgreSQL注意事项

    - iseYiMnotfnull()和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(‘&rsquoandroid;, ‘,’))

    mysql--find_in_set()
    改pg--ANY (string_to_array(some_column, ','))
    ps:
    SELECT t.pythondept_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()

    总结

    以上为个人经验,希望能给大家一个编程客栈参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号