oracle中的sql:SELECT T .PAYEE_CD, T.PAYEE_NM FROM FNT_PAYEE_DEF T WHERE T.PAYEE_DIRECTION_IND = 'S' AND T.STATUS = 'AC' AND REPLACE ( REPLACE ( REPLACE ( REPLACE ( T.PAYEE_NM, ')' ), '(' ), ')' ), '(' ) = REPLACE ( REPLACE ( REPLACE ( REPLACE ( '', ')' ), '(' ), ')' ), '(' ) AND T.FUNDING_ENTITY_CD = '1100' 改成pg数据库sql
时间: 2023-08-20 21:56:46 浏览: 155
280-TXTPDF-11_M4.pdf
在将Oracle SQL转换为PostgreSQL SQL时,需要注意一些语法和函数的差异。以下是将你提供的Oracle SQL查询转换为PostgreSQL SQL的方式:
```sql
SELECT T.PAYEE_CD,
T.PAYEE_NM
FROM FNT_PAYEE_DEF T
WHERE T.PAYEE_DIRECTION_IND = 'S'
AND T.STATUS = 'AC'
AND REPLACE(REPLACE(REPLACE(REPLACE(T.PAYEE_NM, ')', ''), '(', ''), ')', ''), '(', '') = REPLACE(REPLACE(REPLACE(REPLACE('', ')', ''), '(', ''), ')', ''), '(', '')
AND T.FUNDING_ENTITY_CD = '1100';
```
在这个转换过程中,没有涉及到任何函数的替换,只需注意到一些语法和运算符的差异。请注意以下几点:
1. 字符串的替换:Oracle中使用REPLACE函数进行字符串替换,而PostgreSQL中也有相应的REPLACE函数,所以不需要更改。
2. 空字符串的替换:在Oracle中,可以使用连续多个REPLACE函数来删除多个字符。而在PostgreSQL中,可以直接将字符删除以实现相同的效果。
3. 字符串的引号:在Oracle和PostgreSQL中,字符串可以使用单引号或双引号括起来。在这个示例中,只需确保引号的使用一致即可。
请注意,在实际使用PostgreSQL时,可能还需要考虑其他因素,如大小写敏感性、表和列名的引用等。根据你的实际需求和数据库配置,可能需要进行进一步的调整。
阅读全文