2017-03-03 10 views
0

プロシージャ全体を実行しようとしたときにこのエラーが発生しました。以下は、手順のコードです。nvarchar値 'B'をデータ型intに変換するときに変換に失敗しました

SELECT 
    DISTINCT SUBSTRING (a.GL06001,19,10) as ProjectNo, 
    --PR01040 UD_10, 
    SUBSTRING (a.GL06001,1,8)  as AccountNo, 
    a.GL06002    as TransNo, 
    a.GL06004    as TransAmount, 
    a.GL06003    as TransDate, 
    a.GL06005    as TransDesc, 
    'GL'     as SourceType, 
    ' '     as ResourceCode, 
    ' '      as TransLine, 
    0     as CostPR, 
    '000000'    as PRTransNo, 
    a.GL06027    as SubprojNo, 
    a.GL06028    as ActiLineNo, 
    a.GL06012    as TransType, 
    a.GL06016    as Counter 
    from ScalaMX.dbo.GL06PA17 a where a.GL06003 between '2017-02-21 00:00:00.000' and '2017-03-01 00:00:00.000' 

実際には18000+の行と15の列があります。どの列にB値があるかを調べる方法についてのヒント?

Excelで結果をダウンロードし、Ctrl + F 'B'でも手がかりがなく、見つからなかった。

答えて

0

は、変換エラーは、それが主キーを見つけ、したがって、例外をキャッチするような場合、試料

declare 
    n integer; 
    m integer; 
begin 
    for i in (select primarykeycolumn, a,b from table) 
    loop 
    begin 
     n := i.a; 
     m := i.b; 
    exception 
     when others then 
      dbms_output.put_line(i.primarykeycolumn); 
    end 
    end loop; 
    end; 

下記参照、ストアドプロシージャに変換します。

関連する問題