由于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....