问一个mysql过虑的问题。怎么过虑掉数数里面的- 这个字符

gq2018 发布于 2016/03/13 19:37
阅读 559
收藏 0

【领华为电脑包】容器化时代到来!跳转机分配问题终于“有救”了!>>>

问一个mysql过虑的问题。怎么过虑掉数数里面的- 这个字符

数据库的时间格式是:2011-01-01  是年,月,日全部显示出来。但是现在我想只要年,月并具保存格式为:201101  这样。

现在数据库的样子是这样的


就是上面的:newspath 字段的存放样子。我现在想把newspath字段的样式改成只保存,年,月并具去掉里面的- ,如这样:201001 这样子。


请问怎么写mysql语句能做到或用什么办法可以解决? 多谢


类似这样的:update phome_ecms_news set newspath='Ym'; 这样的代码怎么写。多谢了

加载中
1
妹子楼顶有鸽子
妹子楼顶有鸽子
SELECT DATE_FORMA T(str_to_date("2010-11-23",'%Y-%m-%d'), "'%Y-%m") 
1
Joyzhou
Joyzhou
格式化时间或者replace
1
sxgkwei
sxgkwei
。。无语了,你先把这个字符串用函数转换成日期,然后再把日期重新格式化一下,不就好了?
0
庄开源
可以试试字符串截取函数
0
gq2018
gq2018

引用来自“庄开源”的评论

可以试试字符串截取函数
怎么截取呢?能写个代码不。我不太会。
庄开源
可以参考select CONCAT( substring('2011-01-01', 1,4) , substring('2011-01-01', 6,2) ) 但是性能我没去考虑
0
fxhover
fxhover
update phome_ecms_news set newspath=DATE_FORMAT(newspath, '%Y%m');
0
l
loky123

先修改该字段的数据类型int或varchar

alter table 表名 modify 字段 varchar(10) ;

之后修改数据

update 表名 set time=replace('字段','-','');


0
vvtf
vvtf

alter table phome_ecms_news add column tmp_date varchar(6) null;

update phome_ecms_news set tmp_date =DATE_FORMAT(newspath, '%Y%m');

alter table phome_ecms_news modify newspath varchar(6) null;

update phome_ecms_news set newspath = tmp_date;

alter table phome_ecms_news drop column tmp_date;


0
liuabcdefj
liuabcdefj
函数,前提是这个字段没有索引
0
gq2018
gq2018

引用来自“fxhover”的评论

update phome_ecms_news set newspath=DATE_FORMAT(newspath, '%Y%m');
这个可以。多谢啊
返回顶部
顶部