CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

请教

楼主SQL110(菜鸟)2005-04-03 12:40:50 在 MS-SQL Server / 基础类 提问

我在SQL2000中建了一个人员信息表中有一个字段是身份证号我是这样设的:  
      身份证号码     varchar(18)   check   (身份证号码   =15   or   身份证号码   =18   )not   null   ,  
   
  在进行加值的时候插入:'484533145455455'为位时提示:  
  varchar   值   '484533155454787'   的转换溢出了   int   列。超出了最大整数值。  
  请问怎么解决这个问题!  
  本人一菜鸟希望那位大哥赐教     谢谢!! 问题点数:0、回复次数:3Top

1 楼szh3210(/+/=〆)回复于 2005-04-03 17:41:32 得分 0

身份证号码     varchar(18)   check   (身份证号码   ='15'   or   身份证号码   ='18   ')not   null   ,  
  Top

2 楼631799(杭州工人)回复于 2005-04-03 18:01:47 得分 0

字段类型用char(18)或varchar(18).  
  for   example:  
  create   table   tb(ID   char(18))  
  insert   into   tb   select   '484533145455455'  
   
  --view  
  select   *   from   tbTop

3 楼aw511(点点星灯)回复于 2005-04-03 19:44:33 得分 0

varchar   值   '484533155454787'   的转换溢出了   int   列。超出了最大整数值  
   
  你定义的时候定义为varchar(18)  
  如果你要转换的话,就转换为bigint  
   
  declare   @num   varchar(18)  
  set   @num='484533155454787'  
  select   @num  
  select   convert(bigint,@num)Top

相关问题

关键词

  • 转换
  • 身份证号码
  • varchar
  • num

得分解答快速导航

  • 帖主:SQL110

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo