我想使用MySQL创建一个存储函数,该函数接受2个参数date和hour,并将它们从表中的2列转换为日期时间。
CREATE DEFINER = root
@ localhost
功能data_formatata
(数据文本,或文本)返回文本字符集latin1
确定性
开始
set @data = DATE_FORMAT(data, '%d,%m,%Y');
set @ora = DATE_FORMAT(ora, '%h,%i,%s');
RETURN CONCAT_WS('',@data,@ora);
END
答案 0 :(得分:0)
根据输入参数的类型,我将以两种方式之一进行操作(因此,我认为您更喜欢第二种方式):
DELIMITER $$
CREATE FUNCTION DATE_TIME
(DATE_VALUE DATE,
TIME_VALUE TIME)
RETURNS TIMESTAMP
DETERMINISTIC
BEGIN
RETURN TIMESTAMP(TIMESTAMP(DATE_VALUE)+TIME(TIME_VALUE));
END$$
DELIMITER;
DELIMITER $$
CREATE FUNCTION DATE_TIME_2
(DATE_VALUE TEXT,
TIME_VALUE TEXT)
RETURNS TIMESTAMP
DETERMINISTIC
BEGIN
RETURN TIMESTAMP(TIMESTAMP(DATE_VALUE)+TIME(TIME_VALUE));
END$$
DELIMITER;