在sql中将int类型的yyyymmddhhmmss更改为varchar的yyyy-mm-dd

rkkpypqq  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(585)

在mysql服务器的mytable中,有一列以int类型存储yyyymmddhhmmss格式的时间信息。例如202007151300000。当我查询这些数据时,我想把它们转换成varchar类型的yyyy-mm-dd格式。例如:“2020-07-15”。目前我的方法是

(CONCAT(SUBSTRING(CAST(my_time as VARCHAR), 1, 4),
'-', SUBSTRING(CAST(my_time as VARCHAR), 5, 2),
'-', SUBSTRING(CAST(my_time as VARCHAR), 7, 2)))

如果列被调用 my_time . 但我不确定这是否是重新格式化这些数据的有效和优雅的方式。谁能看一下吗?提前谢谢。
在sql中将int类型的yyyymmddhhmmss更改为varchar的yyyy-mm-dd

ipakzgxi

ipakzgxi1#

你可以转换成一个日期:

select date(left(my_time, 8))

或:

select date(my_time / 1000000)

相关问题