如何在SQLite列中找到字符的位置?

tof*_*tim 11 sql sqlite

如果结果" joe@stackoverflow.com",我想找到@符号的位置(3).可能吗?它不会出现的SQLite具有相当于INSTR,LOCATE,POSITION或任何这样的功能.

SELECT ?('joe@stackoverflow.com')
Run Code Online (Sandbox Code Playgroud)

更新我最终注册了自定义扩展功能,但我不得不感到惊讶.

小智 12

从路径中检索文件名:

select replace(path, rtrim(path, replace(path, '/', '' ) ), '') from example;
Run Code Online (Sandbox Code Playgroud)

来自http://community.spiceworks.com/topic/38836-sqlite-question-how-do-i-find-the-position-of-a-character-in-a-string?page=2,希望它可以帮助别人.


med*_*zar 8

不知道这是否是最近添加的,但该INSTR功能确实会找到第一个实例.

  • 在问题发布后发布的3.7.15中添加了.http://www.sqlite.org/changes.html#version_3_7_15 (2认同)
  • 是的。就像通过搜索来到这里的我一样 (2认同)

Cha*_*ins -1

SELECT 
   email,
   POSITION('@' IN email)
From
   table
Run Code Online (Sandbox Code Playgroud)

这是您可能喜欢的基本资源: http: //sqlzoo.net/howto/source/z.dir/tip238311/sqlite