建立数据库表是手机号码使用什么数据类型比较好
7个回答
展开全部
使用char(11),类型,因为手机号是固定的11位,所以可以直接使用char(11)
char用于C或C++中定义字符型变量,只占一个字节,取值范围为-128~+127(-2^7~2^7-1)。C语言中如int、long、short等不指定signed或unsigned时都默认为signed,但char在标准中不指定为signed或unsigned,编译器可以编译为带符号的,也可以编译为不带符号的。
扩展资料:
char类型取1字节或8位,它可以存储的正整数是01111111或127。如果将int类型的整数I=128分配给ch,就会发生溢出。因为128是int类型的,占用4个字节,所以二进制代码为0000000000000000。如果你把它分配给一个8位的char变量,你只能把较低的8位的10000000放进去,其他的都将被删除。
整数在计算机中以补码的形式存储。此时,1000万在计算机眼里是一个补充。最左边的是1,表示一个负数。所以溢出会使最大的正整数变成最小的负整数。
展开全部
用字符串类型。oracle用varchar2,sql server 用varchar
因为一方面,牵涉到区号或者国家代码,电话号码中可能出现-,+,()等字符;另一方面,电话号码并不需要参加运算。所以用字符串比用数字类型合适。
因为一方面,牵涉到区号或者国家代码,电话号码中可能出现-,+,()等字符;另一方面,电话号码并不需要参加运算。所以用字符串比用数字类型合适。
追问
说的比较详细 。oracle中为什么不用varchar 而是用varchar2
追答
varchar2和varchar的区别在于两点:
1. varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
大部分情况下建议使用varchar2类型,可以保证更好的兼容性。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
字符型的吧, 有0开头的区号 数值型的没法存储.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同意一楼,一般都是字符型,灵活性更强
追问
字符类型查询慢啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询