I am using MySQL with the Spring JDBC template for my web application. I need to store phone numbers with only digits (10). I am a little bit confused about data type using data type.
I generally use VARCHARs to store telephone numbers. Storage is not so expensive these days that I benefit that much from the savings found by storing them as numeric values.
Use VARCHAR to Store Phone Numbers in MySQL The final suggested method for handling phone numbers in MySQL is by using the VARCHAR data type. VARCHAR offers the flexibility of dynamic memory allocation when the phone number length will vary across database users.
String Data Type to Store Phone Number in Java It is better to use String type to hold a phone number in Java to solve this problem. Now, we store phone numbers with a Country Code + Area Code + Phone Number format. See the example below.
A phone number should always be stored as a string or text and never an integer. Some phone numbers generally use hyphens and possibly parentheses. Also, you might need to indicate the country code before the phone number such as +46 5555-555555.
Strings & VARCHAR.
Do not try storing phone numbers as actual numbers. it will ruin the formatting, remove preceding 0
s and other undesirable things.
You may, if you choose to, restrict user inputs to just numeric values but even in that case, keep your backing persisted data as characters/strings and not numbers.
Be aware of the wider world and how their number lengths and formatting differ before you try to implement any sort of length restrictions, validations or masks (eg XXX-XXXX-XX).
Non numeric characters can be valid in phone numbers. A prime example being +
as a replacement for 00
at the start of an international number.
Edited in from conversation in comments:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With