sql - 如何将 Charindex 用于一个或另一个字符
问题描述
我有一个带有一堆数字的字符串,但它在字符串的中心某处包含一个字母。该字母可以是“A”或“B”。我试图用 Charindex() 函数找出这封信的位置。但是,当您有两个搜索参数时,它不起作用:
select charindex('[A,B]','190118A3700000')
我用范围和通配符试了一下,但没有用。所以我想要的是将这两个单独的查询合并为一个:
select charindex('A','190118A3700000')
select charindex('B','190118A3700000')
有谁知道如何做到这一点?
谢谢!!!
解决方案
使用patindex()
:
select patindex('%[A,B]%', '190118A3700000')
或者,如果您想要第一个非数字:
select patindex('%[^0-9]%', '190118A3700000')
这是一个 db<>fiddle。
charindex()
不理解通配符。
推荐阅读
- javascript - 开玩笑 getReversedNavigationSections of null
- php - 为什么 curl 抛出异常,错误 35
- ios - 如何在 Corespotlight 搜索中显示消息和视频按钮?
- jquery - 如何将剑道网格层次结构的两个孩子放入选项卡?
- html - 将 Twitter 提要嵌入网站,但显示在轮播中
- python - 从 Quantlib BachelierSwaption 价格中检索 Black vol
- android - 应用程序运行时Android撤消权限-我可以恢复应用程序吗
- ruby-on-rails - 设计软删除记录的问题。任何想法,如何解决它?
- java - 如何仅为 textView 的一部分设置背景图片
- sql-server - 为什么要添加一个简单的字段来选择更改返回的行数 SQL