mysql 使用时间数据类型的存储函数不起作用

fcipmucu  于 2022-11-28  发布在  Mysql
关注(0)|答案(1)|浏览(113)
`DELIMITER //
CREATE FUNCTION am_or_pm (crying_time TIME)
RETURNS varchar(20) 
DETERMINISTIC
BEGIN 
DECLARE am_or_pm varchar(20)
IF  crying_time <= "11:59:00" THEN 
set am_or_pm = 'AM';
ELSEIF crying_time >= "12:00:00" THEN
SET am_or_pm = 'PM';`

尝试创建一个存储函数,将时间分为上午和下午

fwzugrvs

fwzugrvs1#

您需要使用分号(;)并具有匹配的END。此外,您可以执行ELSE:

CREATE FUNCTION am_or_pm(crying_time TIME)
RETURNS char(2) 
DETERMINISTIC
BEGIN 

DECLARE am_or_pm varchar(20);

IF (crying_time < "12:00:00") THEN 
  SET am_or_pm = 'AM';
ELSE 
  SET am_or_pm = 'PM';
END IF;

return am_or_pm;

end

较短的版本为:

CREATE FUNCTION am_or_pm(crying_time TIME)
RETURNS char(2) 
DETERMINISTIC
BEGIN 

return if (crying_time < "12:00:00", "AM", "PM");

end

相关问题