Avatar billede madsokist Nybegynder
14. februar 2002 - 08:51 Der er 12 kommentarer og
1 løsning

Ignorecase, slet i database

Hejsa

Jeg sidder med en relation EMAIL hvori jeg har læst en masse adresser ind fra en liste. Jeg skal nu have kørt et job gennem databasen der ændrer alle store bogstaver til små...

f.eks.
LattERlIG@Email.dk --> latterlig@email.dk

Kan det lade sig gøre og i så fald hvordan?

mvh
Madsokist
Avatar billede madsokist Nybegynder
14. februar 2002 - 08:56 #1
Nåja -- hvis man kan lave en DELETE sætning der ignorer store/små bogstaver så kan det også være en acceptabel løsning.

Spammail = databasen
EMAIL = Relationen

DELETE FROM Spammail WHERE EMAIL = 'VARIABEL';

Dette fungerer kun hvis en bruger indtaster sin emailadresse på samme måde hver gang - og det gør de ikke kan jeg hilse og sige :o)

hej igen
Avatar billede proaccess Nybegynder
14. februar 2002 - 08:59 #2
Du kørte DB2, ik' ?

UPDATE Spammail SET email = LOWER(email)

eller

DELETE FROM Spammail WHERE LOWER(email) = LOWER('VARIABEL')

Burde da vist kunne gøre det...
Avatar billede madsokist Nybegynder
14. februar 2002 - 09:11 #3
Jeg må indrmme at det ser ud til at virke når jeg tester det ... der har dog været en anseelig håndhuld brugere der har brokket sig i ugens løb. Og det er med den kode du skriver.

Det var vist dig og en mere der rådede mig i sidste uge også - hej igen :o)

Jeg tester lidt videre .... kommer tilbage om en times tid.
Avatar billede proaccess Nybegynder
14. februar 2002 - 09:18 #4
Du får problemet fordi du får 2 FORSKELLIGE brugere oprettet:

  proaccess@hotmail.com
og
  ProAccess@hotmail.com

er ikke samme bruger, men vil begge blive slettet ved:

DELETE FROM Spammail WHERE LOWER(email) = LOWER('ProAccess@hotmail.com')

DERFOR: Check allerede ved oprettelse, for om der allerede eksisterer en e-mail med adressen i lower-case...
Avatar billede teepee Nybegynder
14. februar 2002 - 09:27 #5
Du kan evt. skyde følgende af for at finde dubletter

select lower(email), count(email)
from spammail
group by lower(email)
having count(email) > 1
Avatar billede madsokist Nybegynder
14. februar 2002 - 09:31 #6
Jeg sætter alt til LOWERCASE fra start hvis en bruger vil registrere sin email. Problemet er at jeg skulle indlæse en masse gamle brugere hvis emails stod i alle mulige formater og dengang tænkte jeg ikke over at det var et problem..

Nåmen jeg har testet det i H og R - og jeg KAN ikke få det til at fejle, så du får vist ret. Jeg har bare nogle dumme brugere.
Avatar billede madsokist Nybegynder
14. februar 2002 - 09:32 #7
HOV ... jeg kom vist til at afvise dig i stedet for at acceptere .. skriv lige et eller andet - sorry!!!
Avatar billede proaccess Nybegynder
14. februar 2002 - 09:34 #8
Hvis du ville give mig de 30 points, så lykkedes det... ;-)
Avatar billede madsokist Nybegynder
14. februar 2002 - 09:45 #9
fint nok :o) Jeg blev lige urolig ... vil jo ikke snyde i hvert fald!!
Avatar billede terry Ekspert
14. februar 2002 - 10:24 #10
Hi proacces, did you get my mail I send a few days ago? Have you been on holiday?
Avatar billede proaccess Nybegynder
14. februar 2002 - 10:29 #11
>Terry: Nope no incoming mail from U... ;-(  pls, try again: proaccess@hotmail.com
Avatar billede terry Ekspert
14. februar 2002 - 11:09 #12
I have sent another mail!
Avatar billede proaccess Nybegynder
14. februar 2002 - 11:12 #13
>Terry: Got it !
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