iugo
V2EX  ›  问与答

MySQL 中的手机号码字段用什么类型好? char? int?

  •  
  •   iugo · Oct 21, 2014 · 53301 views
    This topic created in 4402 days ago, the information mentioned may be changed or developed.
    需要根据手机号码查询订单, 看到别人在用 char(11) 来存储手机号码.

    字符串的效率不是应该比数字差吗? 为什么不用 int 来储存?

    不过手机号码的数字就像姓名一样含义应该是字符串的, 只不过长成个数字的外貌.

    对于手机号这种数据来说, 是否 char 是最好的选择?
    15 replies  •  2014-10-21 21:08:30 +08:00
    wy315700
    wy315700
    Oct 21, 2014❤️1
    1
    你存INT以后 还怎么按照开头或者尾号查询
    learnshare
    learnshare
    Oct 21, 2014
    2
    它就是个字符串,不是数字啊
    HunterPan
    HunterPan
    Oct 21, 2014
    3
    必须字符串
    staticor
    staticor
    Oct 21, 2014
    4
    字符串吧 前x位可作区域码 虽然可能用不到
    holyghost
    holyghost
    Oct 21, 2014
    5
    因为int存不下11位呀
    caixiexin
    caixiexin
    Oct 21, 2014
    6
    用int的话,万一对这串手机号有特殊操作咋办?比如正则匹配,取号头啥的
    iugo
    iugo
    OP
    Oct 21, 2014
    7
    @wy315700
    @learnshare 谢谢.
    @HunterPan 谢谢.
    @staticor 谢谢,
    @holyghost
    @caixiexin

    谢谢, 手机号码的本质是字符串, 虽然是纯数字组成的.
    还能实现将来可能的区位查询.
    是的, INT 无法存下手机号, 还要 BIGINT 才行.

    结论: 看来 char 储存手机号是一种符合逻辑, 常用的方法.
    iugo
    iugo
    OP
    Oct 21, 2014
    8
    @wy315700 谢谢.
    @holyghost 谢谢.
    @caixiexin 谢谢.
    不好意思, 本来上帖要修改为一并感谢的, 没写好.
    jasontse
    jasontse
    Oct 21, 2014 via iPad
    9
    都存一遍,爱怎么查效率都高。
    zhujinliang
    zhujinliang
    Oct 21, 2014 via iPhone❤️1
    10
    话说身份证号为什么会有个x,就是怕程序员存成整数型
    learnshare
    learnshare
    Oct 21, 2014
    11
    @zhujinliang 整数型也太长了...
    caixiexin
    caixiexin
    Oct 21, 2014
    12
    另外,如果确定是11位的可以用char,要是长度,格式不确定,比如带+86格式的手机号什么的,用varchar,长度设长一点,拓展性更好。
    gDD
    gDD
    Oct 21, 2014 via iPhone
    13
    @zhujinliang 看不出来时开玩笑,最后一位是校验位,用X是逼不得已的…
    wy315700
    wy315700
    Oct 21, 2014
    14
    @zhujinliang

    1。那个是罗马字母X,也就是10,不是因为字母x
    2。为什么会出现X,是因为这一位是前面17位运算以后除以11得出来的校验值。
    oott123
    oott123
    Oct 21, 2014 via Android
    15
    @gDD 也不算迫不得已吧,毕竟对9取余就行了…
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2893 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 05:30 · PVG 13:30 · LAX 21:30 · JFK 00:30
    ♥ Do have faith in what you're doing.