Avatar billede psykrex Nybegynder
06. marts 2006 - 08:44 Der er 13 kommentarer og
1 løsning

Vælg køn udfra cpr nr.

Hejsa

Jeg har et lille problem som jeg håber i kan hjælpe med. Jeg skal lave et udtræk fra en mysql DB men jeg skal kunne se forskel på mænd og kvinder. Jeg har et felt der hedder cpr som har formatet xxxxxx-xxxx

Jeg har denne php kode som virker fint:

$koen = ($cpr[9] % 2 == 0) ? "Kvinde" : "Mand";
print "Køn: $koen<br>\n";

Mit spørgsmål er findes der en funktion i mysql hvor man kan spørge om et tal er lige eller ulige?
Avatar billede psykrex Nybegynder
06. marts 2006 - 08:51 #1
Jeg ved at man kan gøre følgende men nu har jeg jo en "-" i mit cpr nummer og så virker det ikke helt. Kan man måske sige at den kun skal bruge de sidste 4 cifre?

select * from side WHERE MOD(cpr,2) = 1;
Avatar billede kalp Novice
06. marts 2006 - 08:53 #2
Du kan vel bare lige  replace'e dit - tegn med "" når du udføre tjekket..

med replace()
Avatar billede kalp Novice
06. marts 2006 - 08:55 #3
SELECT RIGHT('CPRNR', 4)
mener jeg giver de sidste 4
Avatar billede kalp Novice
06. marts 2006 - 08:57 #4
Det gør den ja.
Du kan læse om flere funktioner her
http://mysqld.active-venture.com/String_functions.html
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:04 #5
Jeg har prøvet denne her:
SELECT RIGHT(cpr,4) from side WHERE MOD(cpr,2) = 1;

Det er rigtigt at den kun viser de sidste 4 men den her WHERE MOD(cpr,2) = 1; virker stadig ikke rigtigt
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:06 #6
Men kan du ikke vise mig hvordan man bruger replace() i min søge sætning
Avatar billede elskermad.dk Nybegynder
06. marts 2006 - 09:08 #7
SELECT RIGHT(cpr,1) as sidste from side WHERE MOD(sidste,2) = 1;
Avatar billede kalp Novice
06. marts 2006 - 09:08 #8
Replace(cpr, "-", " ")

eller

Replace(cpr, "-", "")
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:11 #9
Hvordan sætter man Replace(cpr, "-", " ") ind i SELECT cpr from side WHERE MOD(cpr,2) = 1 ?
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:13 #10
SELECT  Replace(cpr, "-", "") from side WHERE MOD(cpr,2) = 1  den giver ikke syntax fejl men den henter stadig lige og ulige nr
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:14 #11
Replace(cpr, "-", "") skal vel på en eller anden måde sættes ind i where sætningen
Avatar billede kalp Novice
06. marts 2006 - 09:19 #12
select * from side WHERE MOD(Replace(cpr, "-", ""),2) = 1;
Avatar billede psykrex Nybegynder
06. marts 2006 - 09:23 #13
Skide godt Kalp!

Mange tak for hjælper det virker bare.... Smider du lige et svar
Avatar billede kalp Novice
06. marts 2006 - 09:24 #14
Selvfølgelig:)
og selv tak:)
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