[SQL] MSSQL versie van PlusSQL decode() gezocht *

Pagina: 1
Acties:

  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
Ik wil een Select-statement die ik heb in een Oracle database namaken in MS SQL Server.

In deze PlusSQL statement staat de functie "DECODE"

code:
1
2
3
4
5
select decode (tabel.kolom1, 100, 1,
                             200, 2,
                             300, 3,
                             enzovoorts)        (zo tot ongeveer 35)
from tabel


ben niet echt bekend met de vertaling van PlusSQL naar MS SQL,
dus ik weet niet precies hoe ik deze statement het beste na kan maken in MS SQL

("If, Then, Else" lijkt me veel te omslachtig
en 'Case' is mij al gezegt, maar weet niet of ik daar veel verder mee kom)

weet iemand een (korte, weinig omslachtige) oplossing?

[ Voor 7% gewijzigd door Chillz op 17-09-2003 17:21 ]

Leeg - Sinds 20180907


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
iemand?

Leeg - Sinds 20180907


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Ik denk toch dat een CASE je hier uitkomst moet bieden.
Zoek in de Books Online van SQL Server eens de juiste syntax op. Ik weet dat CASE 2 syntaxen heeft: een voor met boolean values, en een gewone.

Ik denk dat het zoiets zal moeten zijn:
code:
1
2
3
4
SELECT CASE tabel1.Kolom1
             WHEN 100 THEN 1
             ....
             END CASE

Maareh.... kan je dat niet eenvoudiger oplossen door dit te doen:
code:
1
SELECT tabel1.kolom1 / 100

:?

https://fgheysels.github.io/


  • soepkip
  • Registratie: Augustus 2000
  • Laatst online: 21-06 09:59

soepkip

Kratjes kunnen nu ook voorin

DECODE is SQL, niet PL/SQL, of T-SQL (mssql server versie)

Beste film ooit


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
whoami schreef op 18 september 2003 @ 09:59:

Maareh.... kan je dat niet eenvoudiger oplossen door dit te doen:
code:
1
SELECT tabel1.kolom1 / 100

:?
Thanks,

maar nee... dat gaat niet,
want niet voor alle waarden geldt uiteindelijk dat deze gedeeld is door 100

(toevallig bij de eerste 7 is het zo)

Leeg - Sinds 20180907