Sql 如何对一个或另一个字符使用Charindex
我有一个字符串,其中有一组数字,但它在字符串的中心某处包含一个字母。此字母可以是“A”或“B”。我试图用Charindex()函数找出这个字母的位置。但是,当您有两个搜索参数时,它不起作用:Sql 如何对一个或另一个字符使用Charindex,sql,sql-server,string,charindex,Sql,Sql Server,String,Charindex,我有一个字符串,其中有一组数字,但它在字符串的中心某处包含一个字母。此字母可以是“A”或“B”。我试图用Charindex()函数找出这个字母的位置。但是,当您有两个搜索参数时,它不起作用: select charindex('[A,B]','190118A3700000') 我尝试了一个范围和通配符,但它没有工作。因此,我希望将这两个单独的查询合并为一个查询: select charindex('A','190118A3700000') select charindex('B','19
select charindex('[A,B]','190118A3700000')
我尝试了一个范围和通配符,但它没有工作。因此,我希望将这两个单独的查询合并为一个查询:
select charindex('A','190118A3700000')
select charindex('B','190118A3700000')
有人知道怎么做吗
谢谢你 使用patindex()
:
或者,如果需要第一个非数字:
select patindex('%[^0-9]%', '190118A3700000')
他是一把小提琴
charindex()
不理解通配符。使用patindex()
:
或者,如果需要第一个非数字:
select patindex('%[^0-9]%', '190118A3700000')
他是一把小提琴
charindex()
不理解通配符。如果charindex
没有找到该字符,它将返回0,因此您只需
select col, charindex('A', col) + charindex('B', col) as position
from your_table;
另一种选择
select col, charindex('A', replace(col, 'B', 'A')) as position
from your_table;
如果
charindex
没有找到该字符,它将返回0,因此您需要做的就是
select col, charindex('A', col) + charindex('B', col) as position
from your_table;
另一种选择
select col, charindex('A', replace(col, 'B', 'A')) as position
from your_table;
我立刻想到了PATINDEX,也从未考虑过这种方法。这不是我以前见过的。酷。我立刻想到了PATINDEX,从来没有考虑过这种方法。这不是我以前见过的。凉的