sql - 我的 SQL Server 数据库中有两个字符串,我想在查询中从它们中获取特定值
问题描述
第一个字符串是
www.abc.c/item/itemscode/012345678974-Thisisname
我想得到介于两者之间的唯一部分,/
即_
只有 012345678974
第二个是
abc.org.c/items/item_database/number_3_of_10-klsnfdsfjsd.txt
从这个字符串中,我只想从“number_3_of....”中得到 3 个
我该怎么做。我尝试了很多解决方案,但在过去超过 48 小时内我无法做到
解决方案
有许多不同的方法可以实现这一目标。实现此目的的一种方法是使用Left()
,Reverse()
和Charindex()
函数。您需要在字符串中搜索模式并根据该模式确定您的解决方案。试试这个:
--First string
DECLARE @string VARCHAR(255)= 'www.abc.c/item/itemscode/012345678974-Thisisname';
SELECT LEFT(REVERSE(LEFT(REVERSE(@string), CHARINDEX('/', REVERSE(@string))-1)), CHARINDEX('-', REVERSE(LEFT(REVERSE(@string), CHARINDEX('/', REVERSE(@string))-1)))-1);
--Second String
DECLARE @string2 VARCHAR(255)= 'abc.org.c/items/item_database/number_3_of_10-klsnfdsfjsd.txt';
SELECT REPLACE(REPLACE(LEFT(REVERSE(LEFT(REVERSE(@string2), CHARINDEX('/', REVERSE(@string2))-1)), CHARINDEX('-', REVERSE(LEFT(REVERSE(@string2), CHARINDEX('/', REVERSE(@string2))-1)))-1), 'NUMBER_', ''), '_OF_10', '');
推荐阅读
- excel - 使用 VBA 中同一工作表中的单元格值重命名 Excel 中的多个工作表
- javascript - 在 Vuex 中捕获 Axios 错误以显示 404 页面
- python - 该数字正在连接而不是添加
- python - 使用多处理池时的 Pycharm 调试器
- c - 在 C 中使用内联汇编将数据从一个数组复制到另一个数组
- react-native - 通过 onViewableItemsChanged 更改 FlatList renderItem 属性
- python - Django没有显示正确设置的图像
- tcl - 将 2 个文件与 TCL 与多个匹配项进行比较
- jquery - 在模式关闭时捕获事件
- php - 通用的“stdClass”在 PHP 中代表什么?