由于MySQL数据库高版本(如8.x)中有to_timestamp()函数,低版本中(如5.7.x)没有这个函数,服务运行报错。
自己创建函数实现功能,创建语句如下;
DELIMITER // CREATE FUNCTION to_timestamp(timestamp_value VARCHAR(50), format_str VARCHAR(50)) RETURNS TIMESTAMP BEGIN IF format_str = 'yyyy-mm-dd hh24:mi:ss' THEN RETURN STR_TO_DATE(timestamp_value, '%Y-%m-%d %H:%i:%S'); ELSE RETURN STR_TO_DATE(timestamp_value, format_str); END IF; END// DELIMITER ;
测试用例:
SHOW FUNCTION STATUS; -- DROP FUNCTION IF EXISTS to_timestamp; -- SELECT to_timestamp('20210526', '%Y%m%d'); SELECT to_timestamp('2024-05-27 18:57:44','yyyy-mm-dd hh24:mi:ss') -- SELECT STR_TO_DATE('2023-04-01 13:00:00', '%Y-%m-%d %H:%i:%s')
DONE....
还没有评论,来说两句吧...