SQLite数据库怎么查找字符串出现的位置?

select instr(zd,'1',1,2) from dual

在oracle是这样表示的,1这个字符在zd中从第一位开始第二次出现的位置

帮我照这个用SQLite写一个例子看看,我百度找了一下没看明白,谢谢你们!

qingfan 发布于 2019-11-13 14:21 (编辑于 2019-11-13 15:02)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
axingLv6专家互助
发布于2019-11-13 15:03

查找n在英文简称中出现第二次的位置,麻烦了点,不过可以出来

SELECT 
英文简称,
case when instr(substr(英文简称,instr(英文简称,'n')+1),'n')>0 then instr(英文简称,'n')+instr(substr(英文简称,instr(英文简称,'n')+1),'n') else 0 end as 位置 
FROM 销量

image.png

最佳回答
0
Edward_DDLv5中级互助
发布于2019-11-13 14:31(编辑于 2019-11-13 14:35)

https://blog.csdn.net/qq_30117591/article/details/82936529

或用帆软的公式:

FIND(find_text,within_text,start_num):从指定的索引(start_num)处开始,返回第一次出现的指定子字符串(find_text)在此字符串(within_text)中的索引。

Find_text:需要查找的文本或包含文本的单元格引用。

Within_text:包含需要查找文本的文本或单元格引用。

Start_num:指定进行查找字符的索引位置。within_text里的索引从1开始。如果省略start_num,则假设值为1。

备注:

如果find_text不在within_text中,FIND函数返回值为0。如果start_num不大于0,FIND函数返回错误信息*VALUE!。如果start_num大于within_text的长度,FIND函数返回值为0。如果find_text是空白文本,FIND函数将在搜索串中匹配第一个字符(即编号为start_num或1的字符)。

示例:

FIND("I","Information")等于1。

FIND("i","Information")等于9。

FIND("o","Information",2)等于4。

FIND("o","Information",12)等于0。

FIND("o","Information",-1)等于*VALUE!。


  • qingfan qingfan(提问者) 第一种方法那个网页我也找到了,但是不会写,你能帮我按照我的那个例子写一个吗
    2019-11-13 14:41 
  • 3关注人数
  • 2560浏览人数
  • 最后回答于:2019-11-13 15:03
    请选择关闭问题的原因
    确定 取消
    返回顶部