查找字符串中的数字位置
下面是我的表 myTable
++++++++++++++++ id + myWord +
+++++++++++++++
+ 1 + AB123 +
+ 2 + A413D +
+ 3 + X5231 +
+ 4 + ABE921 +
+++++++++++++++
当我执行
SELECT id, Locate('1',myWord) as myPosFROM 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;
回答:
以上是 查找字符串中的数字位置 的全部内容, 来源链接: utcz.com/qa/400228.html