ungerade zahlen filtern

chrisjahl

Erfahrenes Mitglied
hallo leutz,

wie der name des threads schon sagt, möchte ich in eiener spalte mir nur die ungerade zahlen ausgeben lassen, hatte da auch schone ien IDEE mit dem like operator aber dies funktionierte nicht bei alle ungeraden endungen:
SELECT NAME, REG_NR
FROM PATIENT
WHERE REG_NR LIKE '%1' '%3' '%5' '%7' '%9';

leider zeigt er mir nix aber, gibt aber auch keien fehlermeldung aus

weis jemand rat oder wie man es noch lösen könnte

danke im voraus

mfg chris
 
Probiers mal so:
Code:
SELECT NAME, REG_NR
FROM PATIENT
WHERE REG_NR % 2 = 1;

% ist der Modulo Operator, und bezeichnet die Restmenge bei einer Division durch eine Zahl.
 
leider funktioniert es nicht Oracles SQL Developer meckert rum die dritte Zeile an Stelle 13 ein ungültiges Zeichen sei.
weißt du oder jemand anderes noch eine Lösung des problems

vielen dank im voraus

mfg chris
 
In Oracle steht das %-Zeichen leider für ein willkürliches Zeichen, wie das * bei Microsoft.

Versuchs doch mal so

Code:
 SELECT NAME, REG_NR
FROM PATIENT
WHERE mod( REG_NR,2) = 1;

Hier die Erklärung:

mod(m,n) m Modulo n (Rest von m geteilt durch n)
 
Zuletzt bearbeitet:
vielen vielen Dank, es hat funktioniert, ich kenne das Zeichen % nur dazu um nach Wörtern zu suchen die vor oder nachdem Buchstaben wo man das Ziehcen setzt beliebig viele Zeichen haben können
Bsp:
Hallo in SQL damit: H%

danke nochmals für die hilfe
 

Neue Beiträge

Zurück