Avatar billede zac Nybegynder
27. august 2003 - 16:42 Der er 8 kommentarer og
1 løsning

Nul som første tal i en talrække forsvinder i numerisk felt

Bruger indtaster i en form i PHP sit CPR nr. som 10 cifre, ddmmååxxxx, data-type int(10) i MySQL - det fungerer umiddelbart, kvitteringen gengiver alle 10 cifre, også hvis det første er 0.

Men i tabellen kommer der kun 9 cifre med, hvis det først indtastede er et nul, og når jeg så trækker på tabellen, gengives også kun de sidste 9 cifre. CPR 0207822341 bliver til 207822341.

Kan man tvinge nullet igennem, så det kommer med ind i tabellen?
Avatar billede arne_v Ekspert
27. august 2003 - 16:45 #1
Brug varchar i.s.f. integer.

Eller lad din applikation sætte 0'et ind.
Avatar billede algizoft Nybegynder
27. august 2003 - 16:46 #2
Du kan ændre feltet i databasen fra et tal-felt til et streng-felt (char)
Avatar billede arne_v Ekspert
27. august 2003 - 16:46 #3
Der er iøvrigt en anden grund til ikke at bruge integer.

En signed 32 bit integer kan kun have til og med den 21. i måneden !

:-)
Avatar billede zac Nybegynder
27. august 2003 - 18:45 #4
En skam jeg må acceptere :-) havde håbet der var bedre mulighed, dvs. indenfor MySQL...
Avatar billede zac Nybegynder
28. august 2003 - 19:06 #5
jeg har fundet det her, en tilføjelse, på:

http://www.mysql.com/doc/en/Numeric_types.html:

"...for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004."
Avatar billede zac Nybegynder
28. august 2003 - 19:20 #6
...så med INT(10) UNSIGNED ZEROFILL kan det hele lade sig gøre...

(unsigned betyder, at tallet ikke må være negativt, og da INT kun kan rumme tal mellem minus 2147483647 og plus 2147483647, er der plads til at komme op på 2x 2147483647 når man kun har pos. tal)
Avatar billede zac Nybegynder
28. august 2003 - 19:26 #7
og hvis man angiver CPR nr. som ddmmååxxxx, kan det højst blive på 3112999999
Avatar billede arne_v Ekspert
28. august 2003 - 19:29 #8
Jep. Med unsigned er der plads. Bemærk at jeg også eksplicit skrev signed
integer.
Avatar billede zac Nybegynder
06. september 2003 - 22:07 #9
oh yes
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