1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day INT(2) UNSIGNED ZEROFILL); Query OK, 0 rows affected (0.11 sec)
mysql> INSERT INTO t1 VALUES(2000,1,1),(2000,1,20),(2000,1,30),(2000,2,2) -> (2000,2,23),(2000,2,23); Query OK, 6 rows affected (0.03 sec) Records: 6 Duplicates: 0 Warnings: 0
mysql> select * from t1; +------+-------+------+ | year | month | day | +------+-------+------+ | 2000 | 01 | 01 | | 2000 | 01 | 20 | | 2000 | 01 | 30 | | 2000 | 02 | 02 | | 2000 | 02 | 23 | | 2000 | 02 | 23 | +------+-------+------+ 6 rows in set (0.02 sec)
|
2、如果有这样的需求:一个字段宽度为6个字符,不足的补零,而且又要自动增加。MYSQL现在好像还没有提供这样的功能,这里我用存储过程来实现。创建表:
Table Create Table
------ ---------------------------------------------------------------------------------------
lk14 CREATE TABLE `lk14` (
`id` int(6) unsigned zerofill NOT NULL DEFAULT '000000',
`str` char(40) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 ROW_FORMAT=DYNAMIC COMMENT='InnoDB free: 0 kB'
创建SP:
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`sp_zerofill`$$
CREATE PROCEDURE `test`.`sp_zerofill`(IN num int) BEGIN declare i int default 1; -- initialization value set @sqltext = 'insert into lk14 values(0,''char0'')'; -- begin while while i < num do set @sqltext = concat(@sqltext,',','(',i,',''char',ceil(num*rand()),''')'); set i = i + 1; end while; -- begin dynamic sql prepare s1 from @sqltext; execute s1; deallocate prepare s1; END$$
DELIMITER ;
|
调用结果:
call sp_zerofill(6);
select * from lk14 order by id;
|
query result(6 records)
id |
str |
000000 |
char0 |
000001 |
char2 |
000002 |
char2 |
000003 |
char2 |
000004 |
char3 |
000005 |
char5 |
本文出自 “上帝,咱们不见不散!” 博客,转载请与作者联系!
分享到:
相关推荐
用零字节填充文件系统中未使用的空间,并覆盖未使用的inode。 根据van Hauser / [THC],vh @ thc.org对安全删除的填充, ,简化并添加了一些修复程序。 版本:0.5.1
有符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到 18446744073709551615。 浮点类型 * FLOAT[(M,D)] [ZEROFILL]:一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38...
MySql的用户管理是通过 User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...
MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下: grant all on mydb...
id int(7) unsigned zerofill DEFAULT '0000000' NOT NULL auto_increment, reporter_id int(7) unsigned zerofill DEFAULT '0000000' NOT NULL, handler_id int(7) unsigned zerofill DEFAULT '0000000' NOT ...
由MySQL支持的列类型列在下面。下列代码字母用于描述中: M 指出最大的显示尺寸。最大的合法的显示尺寸是 255 。...有符号的范围是-128到127,无符号的范围是0到255。 SMALLINT[(M)] [UNSIGNED] [ZEROFILL] 一个小整数
总结,int(M) zerofill,加上zerofill后M才表现出有点点效果,比如 int(3) zerofill,你插入到数据库里的是10,则实际插入为010,也就是在前面补充加了一个0.如果int(3)和int(10)不加zerofill,则它们没有什么区别.M...
想要作为自己公司项目的依赖来开发的,请谨慎使用 集合结构预览: common- 无任何依赖通用模块 util- 常用工具函数集合 uuid- 生成uuid platform- 判断当前平台环境 getTimezoneOffset- 获取时区偏移 ...
`id` int(10) unsigned zerofill NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '城市名称', `code` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '状态码', ...
7、前导0 zerofill 属性可以写在末尾的主键 列值唯一 索引 4、查看表 desc 表名 show columns from 表名 show columns in 表名 5、修改表 alter table 表名 a) drop 字段 注意当表中字段为1个的时候不能...
`zip_code` mediumint(6) unsigned zerofill NOT NULL DEFAULT '000000' COMMENT '邮政编码', `city_code` char(6) NOT NULL DEFAULT '' COMMENT '区号', `name` varchar(50) NOT NULL DEFAULT '' COMMENT '名称'...
CREATE TABLE TEST_USER ( id int(11)NOT NULL AUTO_INCREMENT, name varchar(255)DEFAULT NULL, age int(11)DEFAULT NULL, is_del int(1)unsigned zerofill is_del ',PRIMARY KEY( id ))ENGINE = ...
`user_id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT, `user_name` varchar(32) DEFAULT '', PRIMARY KEY (`user_id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8 ; CREATE TABLE `auth_user` ( `userId` ...
表的约束很多,这里主要介绍如下几个: null/not null,default, comment, zerofill,primary key,auto_increment,unique key 。 空属性 两个值:null(默认的)和not null(不为空) 数据库默认字段基本都是字段为空,...
} function zeroFill(a,b) { var z = hexdec(80000000); if (z & a) { a = a>>1; a &= ~z; a |= 0x40000000; a = a>>(b-1); } else { a = a >> b; } return (a); } function mix(a,b,c) { a -= b;
`is_use` int(1) unsigned zerofill DEFAULT NULL, PRIMARY KEY (`id`), KEY `depth` (`depth`), KEY `id` (`id`,`parent_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区县行政编码字典表';
一、编写测试案例向MySQL数据库中插入百万条数据。测试数据表建表脚本如下:use db_xk; drop table if exists tb_... teacher_id int(10) zerofill not null, student_id int(10) zerofill default null, state b
我们在设计表的时候,如果碰到需要设置int...当然,它的作用不仅如此,在存入数据的时候,还是有一定区别的,这一点可以通过设置字段的zerofill可以看出。比如这里我们创建一个数据表,结构如下: create table test
主键的作用(主键约束,自增长约束auto_increnment,非空约束-not null,唯一约束unique,默认约束default,零填充约束zerofill) DQL操作(排序查询,聚合查询,分组查询,分页查询limit,正则表达式)、 多表操作...
文章目录开篇重点提示database 库相关table 表相关data 数据相关character 字符列类型整数型Int测试代码语句细解unsigned 无符号标识设定显示长度zerofill 显示长度保持最高位小数型FloatDoubleDecimal测试代码语句...