Ich erhalte die Datei von Dritten, die ich in eine Tabelle hochlade. Es hat eine Description
Spalte, in der ich ein "Konto Nr." (9 Zeichen in der Länge) finden muss.Finden Sie den genauen Ausdruck in einer Zeichenfolge (SQL Server 2008)
Einige Muster-Beschreibungen:
FROM AMH-061060-POK UNSECURED OVER 40 DAYS
MAINTENANCE FEE A/C A4G123456
ADJUST BALANCE VS 6PK-123123
REIMBURSEMENT OF CHECK RE-ORDER FEE A4G111111 p11
Asset Mgmt acct gold annual fee MPL NFL234234.
Description
Spalte ein freier Text ist und nicht weiß, wo das Konto nicht angezeigt wird.
Wie Sie oben sehen, kann es am Ende der Beschreibung oder in der Mitte irgendwo oder am Anfang erscheinen.
Für dieses AMH-061060-POK, kürzen wir POK und entfernen '-', um 9 Länge Kontonummer zu erhalten.
Hilfe bei der Suche nach der Kontonummer mit SQL-Funktionen?
es ist Text, so dass Sie auf TSQL-String-Funktionen beschränkt sind: https://msdn.microsoft.com/en-CA/library/ms181984.aspx und das ist viel zu breit. Wir sind nicht hier, um einen Textparser für Sie zu schreiben. Sie finden heraus, wie Sie eine Kontonummer im Text identifizieren können. Wir werden (vielleicht) versuchen, den Code zu reparieren. –
@MarcB Ich denke nicht einmal, dass dies ein Job für SQL Server ist. Vielmehr sollte er den Text in Java oder vielleicht C# laden und dann String-Funktionen, Regex usw. verwenden, um seine Kontonummer zu erhalten. –
in der Tat. während ich bin sicher, es gibt einen Jon Skeet-Typ da draußen, die eine vollständige KI implementieren können, um OP-Text mit nichts als ein paar String-Funktionen zu identifizieren und Abfragen mit 101% Zuverlässigkeit auswählen, aber ich glaube nicht, dass sie sein werden herumhängen auf dieser Seite. –