具有2个参数的MySQL存储函数

时间:2018-10-28 20:38:16

标签: mysql

我想使用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

1 个答案:

答案 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;