SQL建表时如何将mm:ss格式时长转换为hh:mm:ss格式
问题描述
CSV文件中的歌曲时长为m:ss格式(例如3:49),需导入到已创建的SONG表的TIME类型字段中,但由于TIME类型要求hh:mm:ss格式,导入时出现报错。需求是自动将m:ss格式转换为00:mm:ss格式后存入表内。
当前使用的建表语句:
CREATE TABLE IF NOT EXISTS `SONG` ( `DURATION` TIME NOT NULL )
解决方案
保留原有建表语句,修改导入语句,通过临时变量接收CSV中的时长值,再拼接成符合TIME类型要求的格式:
LOAD DATA INFILE '/docker-entrypoint-initdb.d/Song.csv' INTO TABLE `SONG` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 ROWS (@MINSEC) SET `DURATION` = CONCAT('00:0', @MINSEC);
内容的提问来源于stack exchange,提问作者Manon Gerard
相关产品推荐
相关产品推荐

