1

いくつかのSQLステートメントを生成するアプリケーションがあります。その選択フィールドにはすべてAS次のような句が含まれています。

SELECT TOP 200 [customer_name] AS [Customer Name], [customer_age] AS [Customer Age], AVG([customer_age]) AS 'Average Customer Age' FROM [tb_customers] GROUP BY [customer_age]

私のステートメントは常にその形式になります。私の仕事は、「TOP 200」と、集計を除くASすべての句が削除されるようにそれらを解析することです。言い換えれば、ステートメントを解析したいのですが、その場合は次のようになります。

SELECT [customer_name], [customer_age], AVG([customer_age]) AS 'Average Customer Age' FROM [tb_customers] GROUP BY [customer_age]

どうすればこれを行うことができますか?フィールドの量が同じになることは決してないので、非常に複雑な解析タスクのように見えるので、それも可能ですか。それが役立つ場合は、フィールドの量を格納する変数があります(集計は含まれません)。

4

1 に答える 1

1

次のすべての出現箇所を置き換えるなど、正規表現を使用できます。

AS \[.*?\]

空のテキストで

またはすべての出現

AS \[.*?\],

コンマ「、」で。

クエスチョンマーク「?」貪欲なマッチングをオフにするため、ここでは重要です。

于 2013-02-24T10:07:12.313 に答える