在数据库导入过程中,我有点搞砸了。所以现在我有一个DATE
类型的日期列,但是年份和日期在错误的位置:这一天最终出现在年份列中,MySQL将其自动格式化为年份,进一步恶化了事情。
我在下表中列出了值:
dates(dddd-mm-yy)
2030-05-12
2021-06-13
2012-12-13
我想要他们这样:
dates(yyyy-mm-dd)
2012-05-30
2013-06-21
2013-12-12
请注意,我实际上是想UPDATE
列,我已经看到并尝试了许多关于SELECT
的例子。
先谢了。
3条答案
按热度按时间nimxete21#
你可以使用substring()和concat()来concat任何你想要的东西。下面是供你参考的语句(表是tb_test,列名是col_date)。
mjqavswn2#
我不知道这是否可以归类为“解决方案”,也许更多的是一种变通,但它对我来说完美无瑕。
在阅读this之后,我意识到当我试图以dd-mm-yy格式导入日期时,我的问题开始了,因此Mysql假设我的日期是年,并将我的日期显示为yydd-mm-yy
我的日期被格式化为yydd-mm-yy,我已经分别尝试了查询
这个查询运行了,但是没有对表进行任何更改,因为在Mysql的眼里,它帮助我将日期的格式设置为yyyy-mm-dd,从我导入数据库的时候开始,但是我的日期仍然是yydd-mm-dd
所以我想,如果我尝试一个查询像;
这样Mysql就切换了日期和年份,然后以yyyy-mm-dd的形式提供我的日期,这与Mysql处理日期的方式相当令人困惑,但像2030-05-12这样的日期的最终结果是2012-05-30。
kiz8lqtg3#
我尝试使用所有查询来转换数据格式并修改表。我尝试的所有查询都不起作用。我以这种方式解决这个问题。之后,您可以删除最后一个表。
这可以解决所有查询都不起作用的问题。我尝试使用它,但给我错误:
但给予我这个错误:错误代码:1292日期值不正确