heippa,
jos henkilötunnus on muotoa 123456-5432
ja se talletetaan tietokantaan ja kun
tuossa on tuo -, niin luetaanko se
varchariksi tuon viivan takia vai voiko
tallentaa inttinä?
jos henkilötunnus on muotoa 123456-5432
ja se talletetaan tietokantaan ja kun
tuossa on tuo -, niin luetaanko se
varchariksi tuon viivan takia vai voiko
tallentaa inttinä?
Vastaukset 5
Vanhimmat
Int on kokonaisluku, Integer, eli esim vain 32768. Varcharina tuo tallennetaan/luetaan.
VARCHAR tilalle mielummin CHAR, koska henkilötunnus on aina tietyn mittainen. VARCHAR vain silloin jos pituus vaihtelee paljon, mikäli pituus vaihtelee vähäsen niin silloin CHAR myöskin parempa.
Sekä monessa paikkaa ei tallenneta henkilötunnusta yhteen sarakkeeseen, vaan syntymäaika DATE ja sitten yksilöivä tunnus tarkiste CHAR tyyppiseen. Tuossa on monia etuja.
Nimittäin kuten varmaan tiedätkin, tän vuosituhannen henkkareissa on miinuksen tilalla A. Eikös kyseessä ole siis ihan merkkijono vaan.
Myös henkilötunnuksen tarkistusmerkki eli viimeinen merkki on useammin kirjain kuin numero, koska se voi olla joko numero väliltä 0-9 tai kirjain väliltä A-Y.