tsql - 从特定位置的字符串中获取值
问题描述
我正在使用 T-SQL 语言,我想知道从字符串中获取特定信息的最佳方式。
字符串示例:
类别:azd Nom du fichier:684157 文档类型:信息 ID:21542
这个想法是获得值“684157”,它总是在“fichier :”和“Type”之间。
我试过了substring
,charindex
但我想念一些东西。
这是我的代码
select substring(com, charindex('fichier : ', com)+len('fichier : '), charindex('Type', com)-charindex('fichier : ', com) + len('Type'))
from myTable
解决方案
可能有一种更简洁的方法,但这里有一个使用CHARINDEX
and的方法SUBSTRING
。
SELECT SUBSTRING(com,
CHARINDEX('fichier :', com) + LEN('fichier :'), -- start index
CHARINDEX('Type :', com) - (CHARINDEX('fichier :', com) + LEN('fichier :'))) -- length
FROM MyTable
是的startIndex
索引fichier :
加上 的长度fichier :
。结束索引是 的索引Type :
。因为SUBSTRING
我们需要使用起始索引和长度。为了计算子字符串的长度,我们使用 的索引Type :
并减去我们计算的内容startIndex
。
推荐阅读
- python - 彻底清除 Python 虚拟环境
- javascript - 在第一张和最后一张幻灯片上停止轮播(ng-swipe)
- python - 读取json文件python
- html - 使用基于网络的图像作为带有内联样式标签的背景,django
- ios - Swift - 如何在后台和前台获得某些无声通知?
- symfony - 渲染模板时数组到字符串的转换错误
- javascript - java - 如何使垃圾图标清除java脚本中的文本区域?
- database - 如何在 laravel 中使用数据库事务进行多个连接?
- mysql - 如何阻止唯一键上的 NULL 值?
- python - python中try块内的未绑定本地错误