У меня есть 2 строки, содержащие такие строки:
AX/Aland Island No.5/7865.43/5212.62
KR/Republic of Korea/4-08-2021/8-09-2021
Я хочу все после двух первых косых черт «/» и до последней косой черты «/».
Я хочу, чтобы мой результат был:
20142.87
19-02-2022
Я знаю, что мы можем использовать такие функции, как substring и charindex, но я до сих пор не понимаю, как устроен синтаксис. Помогите пожалуйста мне. Спасибо
@Sarada Будет ли значение только цифрами (всегда) после первых двух косых черт? а также не будет ли строка между первыми двумя косыми чертами начинаться с числа?
Если строка между первыми двумя косыми чертами не будет начинаться с целого числа, а строка после первых двух косых черт всегда будет начинаться с целого числа, то ниже приведено решение.
declare @tbl table(string varchar(200))
insert into @tbl
values('AX/Aland Island No.5/20142.87/20542.87')
,('KR/Republic of Korea/19-02-2022/19-03-2022')
select SUBSTRING(string,PATINDEX('%[/][0-9]%',string)+1,
CHARINDEX('/',SUBSTRING(string,PATINDEX('%[/][0-9]%',string)+1,len(string)))-1)
from
@tbl
нет строки с таким условием, хотя строки разные, но нужная мне строка все равно находится после двух первых косых черт '/' и перед последней косой чертой '/'. Как и в примере, показанном @AaronBertrand, я использую SQL Server 2014.