当前位置: 首页 > 面试题库 >

查找字符串中的数字位置

闻人越
2023-03-14
问题内容

下面是我的表 myTable

+++++++++++++++
+ id + myWord +
+++++++++++++++
+  1 + AB123  +
+  2 + A413D  +
+  3 + X5231  +
+  4 + ABE921 +
+++++++++++++++

当我执行

SELECT id, Locate('1',myWord) as myPos
FROM myTable;

我的位置是1。

+++++++++++++++
+ id + myPos  +
+++++++++++++++
+  1 + 3      +
+  2 + 3      +
+  3 + 5      +
+  4 + 6      +
+++++++++++++++

我要实现的是找到整数的第一个位置,这样我将获得以下输出。

+++++++++++++++++++++++
+ id + myWord + myPos +
+++++++++++++++++++++++
+  1 + AB123  +  3    +
+  2 + A413D  +  2    +
+  3 + X5231  +  2    +
+  4 + ABE921 +  4    +
+++++++++++++++++++++++

任何想法我怎么能做到这一点?


问题答案:

在xdazz答案的帮助下,我做了一些更改,最后得到了答案…

SELECT 
  myWord, 
  LEAST (
    if (Locate('0',myWord) >0,Locate('0',myWord),999),
    if (Locate('1',myWord) >0,Locate('1',myWord),999),
    if (Locate('2',myWord) >0,Locate('2',myWord),999),
    if (Locate('3',myWord) >0,Locate('3',myWord),999),
    if (Locate('4',myWord) >0,Locate('4',myWord),999),
    if (Locate('5',myWord) >0,Locate('5',myWord),999),
    if (Locate('6',myWord) >0,Locate('6',myWord),999),
    if (Locate('7',myWord) >0,Locate('7',myWord),999),
    if (Locate('8',myWord) >0,Locate('8',myWord),999),
    if (Locate('9',myWord) >0,Locate('9',myWord),999)
  ) as myPos
FROM myTable;

演示版



 类似资料:
  • 我有一个字符串“1,3,5,7,9,11,12,14”,我想检查该字符串在java中是否包含“12,3,14”。 我的代码:

  • 问题是,我试图这么做,但我检查字符串长度的方法不起作用;我能做些什么来修复它?

  • 问题内容: 我正在寻找一种在字符串中查找JSON数据的方法。像wordpress简码一样思考它。我认为最好的方法是使用正则表达式。我不想解析JSON,只需查找所有出现的事件。 正则表达式中是否有办法使括号的数量匹配?目前,当我嵌套对象时遇到了这个问题。 演示的快速示例: 结果,我想要两个JSON字符串。谢谢! 问题答案: 从给定的文本中提取JSON字符串 由于您正在寻找一种简单的解决方案,因此可以

  • 问题内容: 基本上,我试图按其名称对表进行排序。该表相对较大,但出于示例目的,我仅发布了一列。列在下方 上面的排序是通过尝试以下操作实现的: 但是,我无法对EPA WELL 108S进行分类。我需要它在EPA WELL 108和EPA WELL 109之间移动,我尝试了许多不同的方法。 EPA之后,电台列表也会继续。 问题答案: 该解决方案比所选答案更可靠。如果站中有超过1个数字(例如“ EPA

  • 问题内容: 我想计算一个字符串中某个字符的出现次数,假设我有一个字符串“ aaaab”,我如何计算其中的a数量? 问题答案: 如果不使用正则表达式,则代码看起来更易于阅读。 现在在您的字符串中包含数字“ a”。并且,这在最佳时间执行。 正则表达式非常适合模式匹配。但是只需定期循环即可在此处完成工作。

  • 考虑以下字符串: 和 我希望分离出一个特定的序列,该序列可以存在(第一个示例)也可以不存在(第二个示例) 特别是,我正在寻找一个数字序列,它可以是长1到4个数字,后面可以是一个字母,但在字符串中也不能有子字符串“km”。因此,在我前面的示例中,“278a”是有效的,但数字序列的其余部分不是。 到目前为止,我所做的是: 因为我知道任何包含“km”的字符串都是无效的,所以我应用了这段代码: 我知道这个