开发中取一个int(11)类型的字段,字段保存的是年周,类似“201622”,然后前台需要转换成周的起始日期。
再取的时候发现这个字段前会补充“0”,变成“00000201622”,导致前台转换出错。
经过核查发现不知道什么时候表字段定义出现偏差,加了ZEROFILL属性。
SHOW CREATE TABLE table_name或 DESC table_name 可以查看create语句,
字段的ZEROFILL属性,会在数字长度不够的数据前面填充0,以达到设定的长度。
SHOW CREATE TABLE `r_channel_detail_week`;
CREATE TABLE `r_channel_detail_week` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`product_id` bigint(20) DEFAULT NULL COMMENT '产品ID',
`channel_code` varchar(255) NOT NULL,
`tree_node` varchar(255) DEFAULT NULL,
`year_week` int(11) unsigned zerofill NOT NULL DEFAULT '00000000000' COMMENT '年周',
`reg` int(11) NOT NULL DEFAULT '0',
`reg_active` int(11) NOT NULL DEFAULT '0',