postgresql中STRPOS和POSITION的区别

Max*_*ima 4 postgresql

初学者在这里。

除了position和strpos函数的语法之外还有其他区别吗?

如果不是,那么为什么我们有两个函数可以实现相同的功能,只是有一点语法差异呢?

bla*_*ami 8

这些函数执行完全相同的操作,只是语法不同。文档strpos()说:

指定子字符串的位置(与位置(字符串中的子字符串)相同,但请注意相反的参数顺序)

它们之所以同时存在并且仅在语法上有所不同是因为它们POSITION(str1 IN str2)都是由 ANSI SQL 标准定义的。如果 PostgreSQL 只有它,strpos()它将无法运行 ANSI SQL 查询和脚本。