mysql中的zerofill的应用

整型字段有个ZEROFILL属性,在数字长度不够的数据前面填充0,以达到设定的长度。

Java代码  

  1. CREATE TABLE `staffs` (  
  2.   `id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT,  
  3.   `col2` varchar(20) NOT NUL,  
  4.   PRIMARY KEY (`id`),  
  5. ) ENGINE=InnoDB;  

 

1.这种用法,可以大量用于所谓“流水号”的生成上。比如,想要生成日期_0x的流水号。可以直接拼接

Java代码  

  1. select concat(concat(date(now()), '_'), id) from t1  

 2.比较常用的应该是月份或日期前补0,还是整形数字不是字符串

Java代码  

  1. CREATE TABLE `t1` (  
  2.   `year` year(4) DEFAULT NULL,  
  3.   `month` int(2) unsigned zerofill DEFAULT NULL,  
  4.   `day` int(2) unsigned zerofill DEFAULT NULL  
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 ss

时间: 2024-10-02 10:42:51

mysql中的zerofill的应用的相关文章

Mysql 中int[M]—zerofill

我们在定义数字类型的数据类型的时候,往往考虑该数字类型的数据能否装的下该字段的最大值,如状态位的字段:tinyint,表的主键:int,或者bigint,今天在看到开发同学提交表结构设计文档中看到数值类型的字段定义为int(255),int(20),int(2)当时一下还没有反映过来,我们知道在mysql中数字类型用定长字节存储: Column Type Bytes On Disk tinyint 1 bytes smallint 2 bytes mediumint 3 bytes int 4

MySQL中int和integer的区别

环境: MySQLSever 5.1 问题:MySQL 中int和integer什么区别 答案:没有区别 分析: · INT[(M)][UNSIGNED] [ZEROFILL] 普通大小的整数.带符号的范围是- 2147483648到2147483647.无符号的范围是0到4294967295. ·INTEGER[(M)] [UNSIGNED] [ZEROFILL] 这是INT的同义词.使用两个名字只是为了简化和方便,没有本质上的区别. 查看本栏目更多精彩内容:http://www.biance

mysql中int(1)和int(11)区别详解

mysql字段定义中INT(x)中的x仅仅指的是显示宽度.该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度.显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示.所以x的定义与存储空间没有任何关系都是4个字节. 作为SQL标准的扩展,MySQL也支持整数类型TINYINT.MEDIUMINT和BIGINT.下面的表显示了需要的每个整数类型的存储和范围. 类型 字节 最小值 最大值     (带符号的/无符号的) (带符号的/无符号的) TINYINT 1

mysql中的保留字段产生的问题_Mysql

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio····这句话对于咱们并不陌生,无非就是多了","之类的问题.但是你如果无意之中添加了一个mysql中的保留字段作为数据库中存贮的字段名,悲剧就这样发生了. 前几天因为功能的临时变更,需要给数据表添加一个字段用来区别导入的批次,我就在mysql中添加了group字段,没想到我的噩梦就此展开·

MySQL中的数据类型

MySQL中的数据类型 详情请访问官网:http://dev.mysql.com/doc/refman/5.7/en/data-types.html   官方文档:http://dev.mysql.com/doc/refman/5.7/en/opengis-geometry-model.html   1.1  MySQL有哪些数据类型? MySQL中定义数据字段的类型对数据库的优化是非常重要的.MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型.   1.数值类型 表

MySQL中UTF8编码的数据在cmd下乱码

花了一下午,解决MySQL在Windows的cmd下中文乱码的问题. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 mysql> use abc; Database changed mysql> select * from school; +----------+--------------------+-------------------------------------------+ | schoolid | name               | address 

python-关于mysql中的位图索引和位片索引问题

问题描述 关于mysql中的位图索引和位片索引问题 老师给了一个作业要求利用其他语言例如Python或者C++来实现位图索引,但是一直教的就是mysql,没要办法建位图索引啊.不知道怎么办才好了,求大神指导... 解决方案 Mysql 索引 解决方案二: http://www.cnblogs.com/yuerdongni/p/4255395.html

如何保护MySQL 中的重要数据

      在日常的工作中,保护数据免受未授权用户的侵犯是系统管理员特别关心的问题.如果你目前用的是MySQL,就可以使用一些方便的功能来保护系统,来大大减少机密数据被未授权用户访问的风险. 企业最有价值的资产通常是其数据库中的客户或产品信息.因此,在这些企业中,数据库管理的一个重要部分就是保护这些数据免受外部攻击,及修复软/硬件故障. 在大多数情况下,软硬件故障通过数据备份机制来处理.多数数据库都自带有内置的工具自动完成整个过程,所以这方面的工作相对轻松,也不会出错.但麻烦却来自另一面:阻止外

MySQL中处理空值时要小心两个陷阱

  MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段.在MySQL数据库中,在不同的情形下,空值往往代表不同的含义.这是MySQL数据库的一种特性.如在普通的字段中(字符型的数据),空值就是表示空值.但是如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空.此时为出现什么情况呢(如下图)? 我先创建了一个表.在这个表中有两个字