Avatar billede Søren Bech Morsing Praktikant
04. maj 2004 - 15:48 Der er 2 løsninger

problem med keyword IN i SQL statement

Hvis jeg har et tal: 5
og vil finde ud af om det er i strengen: 3, 5, 7
vil jeg skrive WHERE 5 IN (3, 5, 7) - men det virker ikke. Skal jeg ha konverteret 5 til tekst først? for 3,5,7 står jo i et tekst felt.
Avatar billede holdam Nybegynder
04. maj 2004 - 15:51 #1
Prøv med WHERE INSTR('3,5,7','5')>0
Avatar billede lundsgaard Nybegynder
04. maj 2004 - 15:56 #2
Hej,

Hvis du skriver WHERE 5 IN (3, 5, 7) er (3, 5, 7) tre tal. Det lyder som om du skulle bruge select INSTR('3,5,7','5') from dual og hvis resultatet er 0 findes den ikke i strengen.

INSTR(char1, char2 [,n [,m]])
Searches Char1 beginning with its Nth character for the Mth occurrence of Char2 and returns the position of the character in Char1 that is the first character of this occurrence.
If N is negative, Oracle counts and searches backward from the end of Char1.  N and M default to 1.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester