如何将%-character作为参数传递给存储函数

时间:2014-01-08 09:29:51

标签: mysql stored-functions

我试图在存储的函数中使用mysql的本机函数DATE_FORMAT,但它没有按预期工作。我已经创建了一个小函数来演示这个。

DROP FUNCTION IF EXISTS `date_format_nl`;

DELIMITER $$
CREATE FUNCTION `date_format_nl` (v DATE, f VARCHAR(255)) RETURNS VARCHAR(255)
  BEGIN

    DECLARE ret VARCHAR(255);

    SET lc_time_names = 'nl_NL';
    SET ret = DATE_FORMAT(v, f);

    RETURN ret;

END$$

DELIMITER ;

使用SELECT date_format_nl("2014-01-08 10:29:00", "%d %M %Y")时,我希望结果为08 januari 2014,但实际结果为d M Y(已删除格式)。

写这篇文章的时候,我认为我不得不逃避"%" -character,但我宁愿不必在参数本身中逃避它(SELECT date_format_nl("2014-01-08 10:05:00", "\%d \%M \%Y")甚至没有工作!)。如何防止mysql剥离"%" -character?

enter image description here

0 个答案:

没有答案