以mysql数据库为例,判断类型应该用tinyint类型。
解释:
mysql是不支持布尔类型的,当把一个数据设置成布尔类型的时候,数据库会自动转换成tinyint(1)的数据类型,其实这个就是变相的布尔。
工具:mysql
56
步骤:
1、创建表:
create table test
(id int,
col varchar(10),
if_true tinyint(1))2、插入数据:
insert into test values (1,'真',1);
insert into test values (2,'假',0);3、插入后结果:
总结:默认值也就是1,0两种,分别对应了布尔类型的true和false。
楼主这是数组越界啊~看看你那2维数组有没有边界值设的比较小,还有确定下 data11=new Object[rsnum][7] ;
这个rsnum是否取到了值,是多少,还有rsnext的时候赋值超没超过数组界值,错误发生在你这个文件的第41行,走个断点看看吧
1、表架构,本来放DDL上来的,但是一直提交失败
`tbl_person`
`id` int(10)
`trueName` varchar(32)
`sex` int(1)
PRIMARY KEY (`id`)
2、函数,输入1对应男 2对应女;返回数量
CREATE FUNCTION `countPerson`(`i_sex` int(1))
RETURNS int(10)
READS SQL DATA
BEGIN
DECLARE o_result INT(10);
SELECT IFNULL(COUNT(),0) INTO o_result FROM tbl_person WHERE sex = i_sex;
RETURN o_result;
END;
数据库中的字符型数据值是用单引号引起来的,如果不用单引号引起来的数字就会被认为是数字型,举个sqlserver 的例子,比如:
select '1'+'1';--这个会输出的是11select 1+1;--这样的话输出的就是2
如果是字符型转换数字型的话也可以,就要函数处理,比如:
select convert(int,'1')+convert(int,'1');--这样输出的话就是2,因为函数将字符型已经转成了int型在MySQL数据库中,tinyint是一种整数类型,用于存储小于等于127的整数。其中,(1)和(3)是tinyint字段的显示宽度,它们不影响存储大小和存储范围,只影响字段的显示宽度。
当使用tinyint(1)类型存储时,实际分配的字节数为1,范围也是-128到127,但是该类型只能保存0和1两个状态,通常被用于存储布尔类型的变量。
当使用tinyint(3)类型存储时,实际分配的字节数为1,范围也是-128到127,但是由于显示宽度为3,当显示该字段时,MySQL将自动在字段值前面补0,以便在显示时保持统一的宽度。这种类型常用于存储数字类型的数据。
总结来说,tinyint(1)和tinyint(3)的区别在于显示宽度,用法则取决于实际需求。如果只需要存储0和1两个状态,可以使用tinyint(1)类型。如果需要存储数字类型的数据,并且希望在显示时保持统一的宽度,可以使用tinyint(3)类型。
以上就是关于数据库建表判断类型应该用什么数据类型全部的内容,包括:数据库建表判断类型应该用什么数据类型、java编程:用object数组从mysql数据库中读取数据,data11[i][0] = rs.getInt(1);报错了、MySQL,编写一个函数,要求根据调用时输入性别显示相应的学生人数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)