You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

拼接子串的T-SQL查询转PostgreSQL提示函数不存在如何解决

错误原因

PostgreSQL 内置的 RIGHT()、LEFT() 字符串截取函数仅支持字符串类型作为入参,你代码中的 account_no 字段是 bigint 数值类型,直接传入 RIGHT() 函数会触发类型不匹配报错。

适配PostgreSQL的查询语句

SELECT
    *,
    CONCAT(
        RIGHT(account_no::varchar, 4),
        RIGHT(customer_id, 5)
    ) AS "password for my diplomo"
FROM
    account_info;

调整说明

  • 新增 ::varchar 类型转换语法,将 bigint 类型的 account_no 强制转为字符串,满足 RIGHT() 函数的入参要求,转换后截取后4位的逻辑和原T-SQL完全一致
  • customer_id 本身为varchar类型,无需额外调整
  • CONCAT() 函数、双引号别名的用法PostgreSQL原生支持,不需要修改
  • 若需要兼容SQL标准写法,也可以将类型转换逻辑替换为 CAST(account_no AS varchar),执行效果完全相同

内容的提问来源于stack exchange,提问作者Pandibabu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 13:45:07