WITH Filenames (fn) AS (SELECT 'XX_YYYYY_AA_BBB_SampleTransaction_120807_55322.TXT'UNION ALL SELECT 'XX_YYYYYY_DDD_MasterTransaction_120807_00005.TXT')SELECT fn=SUBSTRING(fn, 1, CHARINDEX('.', fn))FROM Filenames;WITH Filenames (fn) AS (SELECT 'XX_YYYYY_AA_BBB_SampleTransaction_120807_55322.TXT'UNION ALL SELECT 'XX_YYYYYY_DDD_MasterTransaction_120807_00005.TXT')SELECT fn=ItemFROM FilenamesCROSS APPLY PatternSplitCM(fn, '[0-9a-zA-Z_]')WHERE [Matched] = 1 AND ItemNumber = 1;
WITH Filenames (fn) AS (SELECT 'XX_YYYYY_AA_BBB_SampleTransaction_120807_55322.TXT'UNION ALL SELECT 'XX_YYYYYY_DDD_MasterTransaction_120807_00005.TXT')SELECT fn=SUBSTRING(fn, 1, PATINDEX('%[0-9]%', fn)-2)FROM Filenames;
WITH Filenames (fn) AS (SELECT 'XX_YYYYY_AA_BBB_SampleTransaction_120807_55322.TXT'UNION ALL SELECT 'XX_YYYYYY_DDD_MasterTransaction_120807_00005.TXT')SELECT fn=LEFT(fn, PATINDEX('%[0-9]%', fn)-2)FROM Filenames;