如何查找SQL字符集中某位置_使用POSITION函数查询
POSITION函数返回子串首次出现位置从1开始未找到返回0标准写法为POSITION(sub IN str)PostgreSQL/MySQL 8.0支持旧版MySQL需用LOCATE大小写敏感跨库兼容性优于INSTR/CHARINDEX。POSITION 函数能查字符在字符串里的位置但注意它只返回第一个匹配的位置且索引从 1 开始不是 0。POSITION 在 PostgreSQL / MySQL / SQL Standard 中怎么用标准写法是 POSITION(substring IN string)比如查字母 o 在 hello 里的位置结果是 5不是 4。MySQL 8.0 和 PostgreSQL 都支持老版本 MySQL 得用 LOCATE(o, hello)顺序相反。POSITION 是 SQL 标准函数跨数据库兼容性比 INSTR 或 CHARINDEX 好一点PostgreSQL 中大小写敏感POSITION(O IN hello) 返回 0没找到MySQL 5.7 及更早不支持 POSITION直接执行会报错 ERROR 1305 (42000): FUNCTION db.POSITION does not exist为什么 POSITION 找不到子串时返回 0 而不是 NULL这是 SQL 标准定义的行为没匹配就返回 0。这点和 STRPOSPostgreSQL 专属不同后者找不到返回 0但语义更接近“位置索引”容易混淆。 Felvin AI无代码市场只需一个提示快速构建应用程序
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2514579.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!