PL/SQL een "decode" vraagje

Pagina: 1
Acties:

  • ErikRo
  • Registratie: Juni 2001
  • Laatst online: 26-08 18:02
Ik heb een soort if..then..else.. nodig en nu dacht ik aan decode. Dit werkte prima, alleen heb ik 40 codes die naar 3 ander codes worden omgezet en wordt een beetje lang.
Dus nu zou het handig zijn als ik ipv

Decode (naamveld,
aa, kl,
ab, kl,
ac, kl,
ad, kl,
AA, hl,
AB, hl,
"waarde onbekend")

Iets kon maken als
Decode (naamveld,
in
(aa,ab,ac,ad) kl,
in
(AA,AB), hl,
"waarde onbekend")

Dus ipv 1 waarde per keer, een hele serie meegeven.
Het lukt me niet, kan het wel?
Zo nee, zit dan nog een maximum lengte aan een "decode"+voorwaarden?

"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant


  • Juup
  • Registratie: Februari 2000
  • Niet online
In welke taal ben je aan het spelen? Hoe ziet je string eruit voor en na?

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 17 juli 2002 00:16 schreef Jaaap het volgende:
In welke taal ben je aan het spelen? Hoe ziet je string eruit voor en na?
PL/SQL zegt de titel toch?
Oracle's procedurele taal dus :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wat jij nu wilt doen met decode kan niet.
Maar als je PL/SQL gebruikt dan kun je gewoon met if then else etc. werken.
Decode is voor SQL.
Je probleem is wellicht anders wel met een decode op te lossen.
decode(substr(naamveld,1,1),'a',kl,'A',hl,'waaarde onbekend')

Who is John Galt?


  • ErikRo
  • Registratie: Juni 2001
  • Laatst online: 26-08 18:02
Ok, bedankt allemaal,
Dan hoef dat verder niet meer uit te zoeken.
Volgende week hoop ik aan het hoofdstuk procedures te beginnen, het zogenaamde PL gedeelte van SQL.
Maar eerst deze week SQL maar even helemaal uitpluizen cq afronden :)

"I don't have any solution but I certainly admire the problem." -- Ashleigh Brilliant