Avatar billede mik789 Nybegynder
20. oktober 2003 - 08:52 Der er 1 kommentar og
1 løsning

ændre værdier i en where sætning

Dette er et nyt sp. i forlængelse af http://www.eksperten.dk/spm/415829

Man kan ændre ved værdier i ens felter i select sætningen. F.eks.(eksemplet er fra sp. oven for):

select trim(leading '0' from replace(ID,'.0','.')) from artikler;

Derved vises strengene i ID feltet uden foranstillet '0' både før og efter '.'

Men hvis man forsøger det samme i where sætningen, f.eks.:

select forfatter from artikler where trim(leading '0' from replace(ID,'.0','.')) = '1.1';

- får man fejl: Empty set.

Er der en anden måde at opnå det samme på i where sætningen som jeg har gjort her i select sætningen?

//mik
Avatar billede mik789 Nybegynder
20. oktober 2003 - 09:13 #1
sorry folks! jeg må have lavet en slåfejl i mine forsøg herhjemme, for nu lykkes det som jeg har skrevet oven for i where sætningen.
Avatar billede mik789 Nybegynder
20. oktober 2003 - 09:59 #2
For lige at runde af:

Det man kan er flg.:

select forfatter from artikler where trim(leading '0' from replace(ID,'.0','.')) = '1.1';

Men man kan ikke i where sætningen benytte "as"-felter som i dette eks.:

select trim(leading '0' from replace(ID,'.0','.')) as trim_ID, forfatter from artikler where trim_ID = '1.1';

Her er select sætningen OK, men where sætningen giver fejl: Unknown column 'trim_ID'.

Underligt nok kan man godt gøre det i en order sætning. Forespørgslen:

select trim(leading '0' from replace(ID,'.0','.')) as trim_ID, forfatter from artikler order by trim_ID;

er OK. Ingen fejl.

Tak til arne_v, erikjacobsen, jakobclausen og el_barto for at deltage.

//mik
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