我有一个 215 个字符的字段,第 16 个到第 21 个字符是日期,格式为 030914。
我希望能够将其转换为日期并将其写入 MySQL 格式 yyyy-mm-dd 的相邻字段中。
我尝试了字符串到日期的转换,但只有当日期字符用“c”(即引号)括起来时才会发生这种情况。
由于我有超过 20K 条记录,这似乎不可行。
字符 22 到 25 是格式为 1014 的时间。这需要以时间格式写入另一个相邻字段,即 hh:mm:ss。
对于经验丰富的 MySQL 程序员来说,这只需几分钟。
最佳答案
查询
获取日期 -
SELECT DATE_FORMAT(
STR_TO_DATE(SUBSTRING(your_column,16,6),"%d%m%y"),
"%Y-%m-%d")
FROM your_table;
获取时间-
SELECT DATE_FORMAT(
STR_TO_DATE(SUBSTRING(your_column,22,4),"%h%i"),
"%h:%i:%s")
FROM your_table;
获取两者-
SELECT DATE_FORMAT(
STR_TO_DATE(SUBSTRING(your_column,16,10),"%d%m%y%h%i"),
"%Y-%m-%d %h:%i:%s")
FROM your_table;
关于MySQL 日期和时间操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25657513/