Ciao,
non so se questa domanda è già stata fatta.
Io ho una tabella DB2, che ha un campo di tipo testo (in particolare una lettera da A a Z).
Devo riuscire a trovare il primo "buco" disponibile per inserire un nuovo record.
Cioè:
se sotto certe condizioni ho che i record sono valorizzati con
A
B
D
E
...
voglio che la query mi torni il valore C.
In sql ho scritto questa query (funzionante):
select top 1 char(ascii(m.progressivo) + 1) as PrimoBuco
from RTP_Richiesta as m
left outer join RTP_Richiesta as r on ascii(m.progressivo) + 1 = ascii(r.progressivo)
where r.progressivo is null
and m.CodDirigente = '0217307'
and m.anno = 2015
and m.trimestre = 4
Non riesco a scrivere l'equivalente per lavorare sulla tabella DB2.
Ho scritto questo, ma non funziona:
select chr(ascii(m.DD33_PROGR) + 1) as PrimoBuco
from FASIADMN.FDDTBS33 as m
left outer join FASIADMN.FDDTBS33 as r on ascii(m.DD33_PROGR) + 1 = ascii(r.DD33_PROGR)
where r.DD33_PROGR is null
and m.DD10_COD_DIR = '0217307'
and m.DD23_ANNO = '2015'
and m.DD33_BIMES = '4'
Potete aiutarmi?
Grazie