ich habe nach einigen Versuchen die Lösung via patindex gefunden. Hier ist eine Zeichenauswahl wie bei den regexpr möglich.
In Verbindung mit substr konnte ich den gesuchten String extrahieren:
SELECT
CASE WHEN LTRIM(RTRIM(T1.[c009])) = LTRIM(RTRIM(T2.c002)) THEN IsNull(T1.c009, '') WHEN LTRIM(RTRIM(T1.[c010])) = LTRIM(RTRIM(T2.c002)) THEN IsNull(T1.c010, '') ELSE '' END 'Übertrag von Konto',
CONVERT(varchar, IsNull(T1.c004, ''), 104) 'Buchungsdatum',
CASE WHEN patindex('%[0-9][0-9][0-9][0-9][0-9]%', T1.c006) > 0 THEN substring(T1.C006, patindex('%[0-9][0-9][0-9][0-9][0-9]%', T1.C006), 5) ELSE '' END 'Übertrag an Konto'
FROM T028 T1 INNER JOIN T055 T2 ON T1.mesocomp = T2.mesocomp AND T1.mesoyear = T2.mesoyear AND (LTRIM(RTRIM(T1.C009)) = LTRIM(RTRIM(T2.c002)) OR LTRIM(RTRIM(T1.C010)) = LTRIM(RTRIM(T2.c002)))
WHERE
T1.mesocomp = '1WEU'
AND T2.c004 = 3
AND T2.c002 like 'G%'
AND T1.c023 IN ('UG')
AND T1.c018 = 0
AND T1.c002 < 0
AND T1.c026 = @MyYear
GROUP BY T1.c009, T1.c010, T1.c004, T1.c006, T2.c002
ORDER BY 1
note:
quantifier sind leider nicht möglich
Der pattern-string wurde jetzt nur auf 5 Ziffern geprüft
ciao Micha