我试图在存储的函数中使用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?