sql中不足六位的补零该怎么写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中不足六位的补零该怎么写相关的知识,希望对你有一定的参考价值。

参考技术A 假设#a 表有字段 a char(10)

该代码即可实现该功能:

if exists(select a from #a where len(a)<=6)
begin
update #a set a=rtrim(cast(a as char(8)))+'000'
end
else if exists(select a from #a where len(a)<0)
begin
rollback transaction
end
else
begin
print '该数据已经有六位'
end

mysql zerofill 不补零是怎么回事儿?高手帮看一下!!!

这是表的设计。

这是测试的结果,没有效果没有补零。

因为补零仅影响显示,而显示仅在 windows 下通过cmd命令行使用mysql客户端工具才能够显示 linux下通过mysql 客户端命令行下可以显示
注意! navicat for mysql的命令行下可能不能显示 ,我的不能
参考技术A 你执行的命令是在表里插入值,只能新增,不能补零,要补零请用查找替换。追问

能举一个例子吗?

追答

可使用update命令,不懂自己百度一下

参考技术B 在建表时列名要申明的。比如:
zero smallint(5) zerofill not null default 0,
这样zero列如果位数不够5位将用0来填充了。
参考技术C Navicat里的补零 好像bigint类型是显示效果的,其他类型不显示效果,但是使用cmd控制台的mysql客户端是都显示的,我也遇到这样的情况 参考技术D 把建表的SQL语句发出来看一下里面有没有ZEROFILL?

以上是关于sql中不足六位的补零该怎么写的主要内容,如果未能解决你的问题,请参考以下文章

数字转换字符串 不足长度补零

Javav自学笔记第十五天

java中,随机产生1个四数,当不足四位时怎么补零

c语言如何实现不足十位前面补零

基于CTC的语音识别系统训练

oracle 保留小数点问题