我正在做点事情:MySQL将datetime从datetime中移除,转换为varchar。 SUBSTR()?
所以我已经从datetime转换成varchar列(有正当理由)。我的问题是从时间的所有0的也有各种各样的。尝试使用concat()去除字符串。
例如:2013年12月12日00:00:00
输出:2013年12月12日
的问题是,不是所有的VARCHAR处理有“00:00: 00“结束。他们中的一些被放在AFTER系统转到varchar而不是datetime因此,我可以从字符串中去除-X,而不先检查它是否大于12个字符。
我想这样
UPDATE logic_intern_report_link SET comp_date=SUBSTR(comp_date,0,10)
然而,这结束了该列删除所有值。
只是好奇。这些原因是什么?也许我们有另一个解决方案,而不是转换为varchar。 – fancyPants 2013-03-18 15:29:01
...等等,你是_storing_他们作为varchar?有**没有理由将日期值存储为字符值 - 您只是要求在该列中获取无效数据,并且您将不得不将其转换为日期以进行某些类型的比较(尽管至少你有一个SARGable格式)。 – 2013-03-18 15:31:04
该字段用于比较的时间较长,客户希望将它放在“下个星期二”中。它不再是一个真正的日期字段......更多的是“评论”字段。 – 2013-03-18 15:32:04