Вот один из способов использования Cross Apply
и Charindex
строковую функцию
Demo
;WITH cte
AS (SELECT *
FROM (VALUES ('abc_sfrs1_sdfre_fdsj_2015419_154825.jpeg'),
('asdac_cfwes_ssaare_fdsj_2015418_52584.jpeg'),
('ezxc_afrs_hdeas_fdsj_2015416_15484.jpeg'),
('rer_bfee_rre_fdsj_2015415_25485.jpeg')) tc (string))
SELECT EXTRACTED_DATA = Substring(string, fur + 1, fiv - fur - 1)
FROM cte
CROSS apply (VALUES (Charindex('_', string))) cs (fst)
CROSS apply (VALUES (Charindex('_', string, fst + 1))) cs1 (scd)
CROSS apply (VALUES (Charindex('_', string, scd + 1))) cs2 (thd)
CROSS apply (VALUES (Charindex('_', string, thd + 1))) cs4 (fur)
CROSS apply (VALUES (Charindex('_', string, fur + 1))) cs5 (fiv)
Результат
EXTRACTED_DATA
--------------
2015419
2015418
2015416
2015415
Update
Для вашего стола должно быть что-то вроде этого
SELECT Substring(filename, fur + 1, fiv - fur - 1) AS EXTRACTED_DATA
FROM Yourtable
CROSS apply (VALUES (Charindex('_', filename))) cs (fst)
CROSS apply (VALUES (Charindex('_', filename, fst + 1))) cs1 (scd)
CROSS apply (VALUES (Charindex('_', filename, scd + 1))) cs2 (thd)
CROSS apply (VALUES (Charindex('_', filename, thd + 1))) cs4 (fur)
CROSS apply (VALUES (Charindex('_', filename, fur + 1))) cs5 (fiv)
Это для 'Sql Server' или' Mysql' –
мне нужно для 'SQL Server', но с тем, чтобы увеличить объем I включены как SQL и Mysql – Zack
@ Zack вы не должны использовать теги, не относящиеся к вашему вопросу. Да, вы получите более широкую аудиторию, но способ получить эти результаты не будет одинаковым. –