3 ms·
If you store phone numbers as integers (you normally should not), remember that leading zeroes are significant. 0123 is not the same as 123. But as integers the
by noselasd 11y ago
If you store phone numbers as integers (you normally should not), remember that leading zeroes are significant. 0123 is not the same as 123. But as integers they normally are (And make sure your parser doesn't parse 0123 as octal).
- jdavis703 11y agoAlso my U.S. phone number used to be 703-6XX-XXXX (digits omitted for privacy). That's not going to work if you store it as a 32-bit integer (when I was a dumb college student I made a similar mistake, and spent a couple of minutes scratching my head over why my number kept changing to 214-748-3647 every time I saved it to the DB).
- raw_creations 11y ago"Somewhere in Dallas, some poor bastard is wondering why his phone rings off the hook with calls for the Nevada Division of Mental Health & Developmental Services, the Jackson County Florida Chamber of Commerce, a yacht club in New York….." And NASA, apparently http://sbir.gsfc.nasa.gov/award_firm_list/selection_nid/35136 http://sbir.gsfc.nasa.gov/award_firm_list/selection_nid/3513...
- OJFord 11y agoI said 'some integer type' in anticipation of this comment if I'd just said int ;) Although, the other reason that won't work (which I thought you were going to say) is that it'll end up as -X1XX!
- mjevans 11y agoIt should have strictly warned you about data truncation... I'd honestly have rather it stored a NULL than that result though.
- jloughry 11y agoElsewhere I showed [1] that you can store that number in a 32-bit integer if you first swap the leading two digits. Don't ever do this. [1] https://news.ycombinator.com/item?id=11323371 https://news.ycombinator.com/item?id=11323371
- NickNameNick 11y agoIn general, only store things as integers if it might be meaningful to do math on them. I saw a database once that stored phone numbers as ints. elsewhere in the software, they tried to take the mean of the wrong column. If the phone numbers had been stored as strings the error would have been obvious. As it was, the error survived in production for a disturbingly long time. The users persisted in thinking the output was meaningful even after the problem was discovered.
- orionblastar 11y agoI wrote a VB app named Fax Assistant that used Rightfax codes in MS-Word and had to use phone numbers. I stored the numbers as strings/text because sometimes in order to get a fax machine you had to dial a comma and a 2 for some sort of switchbox that shares a voice line. In St. Louis had 314 and 636 area codes, sonetimes they needed a 1 in front of them based on where you called from. 636 was west county like St. Charles 314 was St. Louis city and North, East, and West county. They used a different area code to make more numbers due to demand.