收藏
回答

云开发如何查询数据库中某个字段的字符串中 第2位和第4位的字符为指定字符的数据?

比如有两条数据,我要找no这个字段的字符中 第2位b的并且第4位d的数据

同样我要找第2位为2并且第4位为4的数据进行匹配出来

这个似乎有点难啊,而且这个位置可能会动态变化,请问这个查询语句应该怎么写啊,大佬们救急!非常感谢!

回答关注问题邀请回答
收藏

3 个回答

  • ⅴ
    2022-10-12

    正则表达式了解一下:

    https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/Database.RegExp.html

    2022-10-12
    有用 1
    回复 4
    • spring
      spring
      2022-10-12
      大哥,正则我目前还不太会,现在很急,能帮忙写一下这个表达式吗,谢谢
      2022-10-12
      回复
    • ⅴ
      2022-10-12回复spring
      试试:
      ^.{1}b.{1}d.*
      ^.{1}2.{1}4.*
      2022-10-12
      回复
    • ⅴ
      2022-10-12回复spring
      .{1}指的是任意字符1位, 所以 .{3}b 就能匹配到,第4位的b。
      稍微看一下教程吧:https://www.runoob.com/regexp/regexp-metachar.html
      2022-10-12
      回复
    • spring
      spring
      2022-10-12
      兄弟,真的太膜拜你了,正则真的太难了,非常感谢
      2022-10-12
      回复
  • linn
    linn
    2023-07-13

    数据库一般都会提供字符串函数:substr(stringfrom [, count])

    以 PostgreSQL 为例,substr('alphabet', 3, 1) → p

    https://www.rockdata.net/zh-cn/docs/14/functions-string.html#id-1.5.8.10.7.2.2.33.1.1.1

    2023-07-13
    有用
    回复
  • 壹叁贰
    壹叁贰
    2022-10-13

    真不会正则的话,就下面这个吧

    str = 'abcdefg';
    str[1]就是第二位,str[3]就是第四位
    

    再不济,字符串拆分成数组

    ['a','b','c','d']
    

    至于位置动态变化,写个方法,传参吧,想要哪些位置就传对应位置的下标

    function getLetters(str='',idxes=[]){ return [];}
    
    2022-10-13
    有用
    回复 1
    • spring
      spring
      发表于移动端
      2022-10-13
      你这样当然可以,数据量大怎么办
      2022-10-13
      回复
登录 后发表内容