0

功能:

DELIMITER $$

DROP FUNCTION IF EXISTS `ToYear` $$
CREATE FUNCTION .`ToYear` (input varchar(47)) RETURNS year
BEGIN
  RETURN year(str_to_date(@input,_utf8'%m/%d/%Y'));
END $$

DELIMITER ;

函数调用

SELECT ToYear('8/12/2013')

为什么我的函数在放入返回年份的 SELECT 语句时返回 NULL?

SELECT year(str_to_date('8/12/2013',_utf8'%m/%d/%Y'));

回报:2013

4

1 回答 1

2
DELIMITER $$

DROP FUNCTION IF EXISTS `ToYear` $$
CREATE FUNCTION `ToYear` (input char(10)) RETURNS year
BEGIN
  RETURN year(str_to_date(input,_utf8'%m/%d/%Y'));
END $$

DELIMITER ;
于 2013-01-27T19:04:28.460 回答