gpt4 book ai didi

mysql - 查找字符串中的数字位置

转载 作者:可可西里 更新时间:2023-11-01 06:55:54 27 4
gpt4 key购买 nike

下面是我在表 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 answer的帮助下,我做了一些修改,终于得到了答案......

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;

Demo

关于mysql - 查找字符串中的数字位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com