私はテーブルにアップロードするサードパーティからファイルを受け取ります。それはDescription
の列を持っています。そこでは、「アカウントNO」(9文字の長さ)を見つけなければなりません。文字列内の正確なフレーズを検索する(SQL Server 2008)
いくつかのサンプルの説明:
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
列フリーテキストで、アカウントが何も表示される場所を知っていません。
あなたが上記のように、それは説明の終わりまたはどこかの中間か開始時に現われます。
このAMH-061060-POKでは、POKを切り捨て、 ' - 'を削除して9の長さの口座番号を取得します。
SQL関数を使用してアカウント番号を見つける際に助けとなることはありますか?
これはテキストなので、tsqlの文字列関数に制限されています:https://msdn.microsoft.com/en-CA/library/ms181984.aspxこれは広すぎます。私たちはあなたのためのテキストパーサーを書くためにここにいません。あなたはテキストの口座番号を特定する方法を考え出します。私たちはそのコードを修正するのに役立つかもしれません。 –
@MarcB私はこれがSQL Serverの仕事だとは思わない。むしろ、彼はテキストをJavaや多分C#に読み込んで文字列関数、正規表現などを使ってアカウント番号を取得するべきです。実際に –
私はOPのテキストを何かを使って識別するための完全なAIを実装することができるjon skeet-typeがあると確信していますが、101%の信頼性を持つクエリを選択するだけですが、このサイトにはぶら下がっています。 –