2017-09-13 1 views
0

ない小さなDB2は、ここで私が「姓、姓」にフォーマットされたフィールドからのみ姓を引っ張るために、次のコードを使用しています:SQLCODE = -138大型カウントテーブルにフラグを立てるが、私はビューを構築し

VALUE(RTRIM(SUBSTR(A.PREVIOUS_NAMES,1,LOCATE(',', A.PREVIOUS_NAMES)-1)), '') 
AS "PREVIOUS_NAME",               

私は私たちのサンドボックス環境で働いていたとして、このビューではうまく働いたが、私はテストし、DbVisualizerのビューを開こうとし、それを上に移動して、データの結果がエラーを提供します。

THE SECOND OR THIRD ARGUMENT OF THE SUBSTR OR SUBSTRING FUNCTION IS OUT OF 
RANGE. SQLCODE=-138, SQLSTATE=22011, DRIVER=4.22.29 

サンドボックスはテストシステムとプロードシステムが120万に近い11kレコードのすぐ下にありますこれはコードの複雑さの結果としてのパフォーマンス上の問題です。ビューはまだ作成されているように見えますが、クエリを実行して特定の結果/結果セットを返すことができます。大きなクエリで使用できるかどうか、またはパフォーマンスが本当に問題になるのではないかと心配しています。

ロケート機能で部分文字列を使用することなく、その姓を解析できる優れた方法はありますか?

ありがとうございました!

答えて

1

ほとんどの場合、それはいくつかの行がありませんカンマ

+0

ああヘクタールでデータを持って、パフォーマンスの問題ではありません!だから、私はおそらく、コンマの欠如を説明するためにケースや何かをする必要があります.... ありがとう! – XB1213

関連する問題