Avatar billede dex_dexter Nybegynder
21. november 2005 - 15:44 Der er 9 kommentarer og
1 løsning

"pad" string?

jeg har noget data liggende i nogle felter, nogen har 4 tegn, andre 5, og nogle få 6 tegn, men jeg vil gerne have alle sammen hevet ud så de fylder det samme, altså så der er 0 foran hvis længden er mindre end 6 tegn.

skal jeg ud i at scripte det selv, eller findes der en smrt funktion til dette?
Avatar billede arne_v Ekspert
21. november 2005 - 16:13 #1
RIGHT('000000' + felt, 6)

måske (i SELECT eller UPDATE eller WHERE eller hvor du nu skal bruge det)
Avatar billede dex_dexter Nybegynder
21. november 2005 - 16:18 #2
jeg har sagt det før, og nu siger jeg det igen, du er altså for sej!
smid et svar, det virker jo som var det smurt i olie
Avatar billede arne_v Ekspert
21. november 2005 - 16:21 #3
svar
Avatar billede dex_dexter Nybegynder
21. november 2005 - 17:00 #4
hm.. et tillægsspørgsmål, kan man ikke bruge det felt der kommer ud i en join? ligemeget hvordan jeg gør det får jeg bare et tomt result ud af det
Avatar billede arne_v Ekspert
21. november 2005 - 17:02 #5
den er nok NULL og ikke ''

'' virker i den funktion

NULL gør nok ikke

prøv RIGHT('000000' + ISNULL(felt,''), 6)
Avatar billede dex_dexter Nybegynder
21. november 2005 - 17:09 #6
det sjove er at hvis jeg laver en ufuldstændig join så kan jeg fint se de entries hvor den burde havde joinet, men når jeg så joiner får jeg ikke noget output.

det virker heller ikke.
Avatar billede arne_v Ekspert
21. november 2005 - 20:49 #7
kan du forklare lidt nærmere evt. give et kort eksempel med få rækker ?
Avatar billede dex_dexter Nybegynder
22. november 2005 - 08:46 #8
id numb1  numb2
76 020501 020501

det er en af de rækker jeg snakker om, numb1 kommer fra en tabel og numb2 kommer fra en anden, numb2 er den jeg har sat et extra 0 på.
jeg ønsker at joine på de 2 felter men jeg får intet returneret som jeg jo burde når jeg manuelt kan finde et match i databasen
Avatar billede arne_v Ekspert
22. november 2005 - 09:08 #9
skal du have joinet tabellen med sig selv ?
Avatar billede dex_dexter Nybegynder
22. november 2005 - 10:01 #10
heh, havde lige et lille blackout ang. det her, jeg prøvede noget der ligner

select RIGHT('000000' + templatetable.number2, 6) as number2
from
templatetable
where
number2 = '010101'

men det kan man ikke, man skal jo også formatere number2 i where clausen for at kunne søge på den måde.
og derfor ville min join heller ikke virke, stupid me.

men nu spiller det som det skal, jeg har bare formateret feltet når jeg joiner det, så virker det.

mange tak for din hjælp
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