首页 > 解决方案 > 如何将 Charindex 用于一个或另一个字符

问题描述

我有一个带有一堆数字的字符串,但它在字符串的中心某处包含一个字母。该字母可以是“A”或“B”。我试图用 Charindex() 函数找出这封信的位置。但是,当您有两个搜索参数时,它不起作用:

select  charindex('[A,B]','190118A3700000')

我用范围和通配符试了一下,但没有用。所以我想要的是将这两个单独的查询合并为一个:

select  charindex('A','190118A3700000')
select  charindex('B','190118A3700000')

有谁知道如何做到这一点?

谢谢!!!

标签: sqlsql-serverstringcharindex

解决方案


使用patindex()

select patindex('%[A,B]%', '190118A3700000')

或者,如果您想要第一个非数字:

select patindex('%[^0-9]%', '190118A3700000')

是一个 db<>fiddle。

charindex()不理解通配符。


推荐阅读