在 oracle 中,substr(x, 0, 3)与substr(x, 1, 3)的意思相同,都是截取第一个到第三个元素
在 postgresql 中,substr(x, 0, 3)截取前两位元素,substr(x, 1, 3)截取前三位元素
综上,在 oracle 的 substr 函数中,第二位的 0 和 1 代表的意思相同;在 postgresql 的substr 函数中,第二位的 0 和 1 代表的意思不同,在做 oracle 数据库 sql 迁移到 postgresql 数据库 sql 的时候切记把第二位的 0 改为 1 !