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

细节问题:ZEROFILL的用法范围。相关推荐

  1. 你可能不知道的Shell

    Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面.Shell这个词是指操作系统中提供访问内核服务的程序. 这篇文章向大家介绍Shell一些非广为人知.但却实用有趣的知识,权当品 ...

  2. 心得丨一文告诉你想学数据分析该读什么书、从哪本读起

    作者:三郎 因工作原因要学习一些数据的知识,从人人都是产品经理网站上并没有找到一篇从入门到进阶成体系的文章,且查找的分享都是数据体系中一个分支的分支,整体看起来烟雾缭绕,经一位前辈点播还是先从书籍中建 ...

  3. 你不知道的shell用法和脚本,简单强大

    本文摘自:码农增刊 Linus与Linux 在阅读以下部分前, 强烈建议读者打开一个 shell 实验,这些都不是 shell 教科书里的大路货哦:) 1. sudo !! 以root的身份执行上一条 ...

  4. 【转】你可能不知道的Shell

    一些强大的命令 再分享一些可能你不知道的shell用法和脚本,简单&强大! 在阅读以下部分前,强烈建议读者打开一个shell实验,这些都不是shell教科书里的大路货哦:) !$ !$是一个特 ...

  5. Python学习手册(套装上下册)(原书第5版)

    Python学习手册(原书第5版) 本书分为上.下两册. 如果你想动手编写高效.高质量并且很容易与其他语言和工具集成的代码,本书将快速地帮助你利用Python提高效率.本书基于Python专家的流程培 ...

  6. R语言观察日志(part17)--.Primitive

    学习笔记,仅供参考,有错必纠 文章目录 .Primitive 描述 用法 参数 细节 例子 .Internal 描述 用法 参数 .Primitive 描述 .Primitive通过名字查找一个内部实 ...

  7. spring jaxb_自定义Spring命名空间使JAXB变得更容易

    spring jaxb 首先,让我大声说一下: Spring不再是XML繁重的了 . 实际上,如今,您可以使用大量注释, Java配置和Spring Boot来编写几乎没有XML或根本没有XML的Sp ...

  8. 自定义Spring命名空间使JAXB更容易

    首先,让我大声说出来: Spring不再是XML繁重的了 . 事实上,如今,您可以使用大量注释, Java配置和Spring Boot来编写几乎没有XML或根本没有XML的Spring应用程序. 认真 ...

  9. Det3D - 首个通用 3D 目标检测框架

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者授权转载,请勿二次转载. (原文链接:https://zhuanlan.zhihu.com/p/101346137) 背景介绍 ...

最新文章

  1. FPGA之道(79)静态时序分析(五)外部接口的相关时序分析
  2. pytorch cat、stack、tranpose、permute、unsqeeze
  3. 关于MongoDB数据库的总结
  4. 【机器学习基础】数学推导+纯Python实现机器学习算法23:kmeans聚类
  5. mongoDB的常见命令
  6. SQL-left(right,inner) join
  7. 每天一个Linux命令(17)--whereis命令
  8. stm32f429vref怎么接_STM32如何通过内部VREF得到实际的VDDA值
  9. 02.gcc入门(下)
  10. 【系统架构】大规模的C++项目代码层次结构
  11. 云数据的安全性不容忽视
  12. UIButton长度自适应文字长度
  13. fileuploads
  14. Netty 如何做到单机百万并发?
  15. 微信小程序返回Qcloud\\Cos\\Exception\\NoSuchBucketException: Cos Error Code: NoSuchBucket, Status Code: 404
  16. VUE filters 使用
  17. Java之对象转型(casting)
  18. 苹果手机电池健康怎么看_MIUI12怎么看电池温度 小米手机电池损耗寿命查看方法...
  19. Options, Futures and Other Derivatives 读书笔记(三)—— CHP4
  20. 酒吧空间怎样量身打造

热门文章

  1. 第一次用PHP做电影站 用thinkphp开发的!!
  2. 文件目录在Visual C++ 2005中使用 GNU Scientific Library
  3. Flex利用Datagrid来设置全选和单选
  4. .txt文件改成.bat为什么没有反应
  5. 在.net 2.0 中使用ftp
  6. 2017linux版本号,Linux基本命令 2017-11-27
  7. BaiduMapsApiDemo报错:请在 DemoApplication.java文件输入正确的授权Key
  8. Java学习系列(十)Java面向对象之I/O流(上)
  9. String StringBuffer StringBuilder的异同
  10. opencv python 基于分水岭算法的图像分割