黑马程序员技术交流社区

标题: 为什么在SQLserver中开通的0不现实 [打印本页]

作者: 彭清贵    时间: 2013-2-27 02:34
标题: 为什么在SQLserver中开通的0不现实
本帖最后由 彭清贵 于 2013-2-28 17:47 编辑

换了好几个类型了。都不显示
如下代码
create table grade(学号 char(10),课程编号 char(10),分数 int);
insert into grade(学号,课程编号,分数)values(0001,0001,80);
insert into grade(学号,课程编号,分数)values(0001,0002,90);
看这样显示的
怎么弄好啊   以前没见过
作者: 丁涧泉    时间: 2013-2-27 02:58
试试把学号这一列的类型换成nvarch,看看行不
作者: 王立    时间: 2013-2-27 07:32
用nvarchar




作者: xiaoxiang_04    时间: 2013-2-27 08:39

varchar,支持英文等字符类型
char,跟varchar差不多,但是区别在于对于位数不满的用空格补齐
nvarchar和nchar,支持了中文,其他都和varchar,char一样
说了半天好像和你的题没关系。。。。。{:soso_e101:}
你这个主要问题是insert into grade(学号,课程编号,分数)values(0001,0001,80);
char你得加引号啊。。insert into grade(学号,课程编号,分数)values('0001','0001',80);
这样就好了
作者: 戴鑫凯    时间: 2013-2-27 09:57
粗心啊!!!

insert into grade(学号,课程编号,分数)values(0001,0001,80);
insert into grade(学号,课程编号,分数)values(0001,0002,90);

前面2个类型是 char(10)的
应该加单引号:

insert into grade(学号,课程编号,分数)values('0001','0001',80);
insert into grade(学号,课程编号,分数)values('0001','0002',90);
作者: 彭清贵    时间: 2013-2-28 17:47
各位都答得的真好 不知道怎么感谢,将来高薪了  一分一点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2