2017-03-03 3 views
0

Erhalte diesen Fehler, wenn ich jemals versuchte, die gesamte Prozedur auszuführen. Unten ist der Code aus der Prozedur.Konvertierung fehlgeschlagen beim Konvertieren des Nvarchar-Werts 'B' in den Datentyp 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' 

Es gibt tatsächlich 18000+ Zeilen und 15 Spalten. Gibt es Hinweise darauf, wie die Spalte mit B-Wert verfolgt werden kann?

Ich habe das Ergebnis in Excel und Strg + f 'B' heruntergeladen Aber immer noch keine Ahnung und ich konnte es nicht finden.

Antwort

0

konvertieren in gespeicherte Prozedur, siehe unten Probe

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; 

Wenn Konvertierungsfehler passiert, wird es die Ausnahme fangen damit den Primärschlüssel zu finden.

Verwandte Themen