为了账号安全,请及时绑定邮箱和手机立即绑定

return怎么写在这里?它又不能返回时间

既然这才是有效的:

SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');

那么为什么这样写才对:

CRETAE FUNCTION f1() RETURNS VARCHAR(30) RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');

而不是:

CRETAE FUNCTION f1() RETURNS VARCHAR(30) SELECT DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');


正在回答

2 回答

CREATE FUNCTION 方法名(参数...)

RETURNS ....返回值类型

RETURN ....返回的结果

解释:这是创建自定义函数语法结构,必须包含的关键词。就比如: SELECT * FROM table,你要查询就必须要有SELECT FROM 关键词。你没有RETURN 直接SELECT mysql不认你的语法结构....


2 回复 有任何疑惑可以回复我~

在RETURN 前面有一个RETURNS说明了返回值的类型是VARCHAR(30),所以在RETURN语句后面的DATE_FORMAT(NOW(),'%Y年%m月%d日 %H点:%i分:%s秒');是以字符串的类型返回。至于为什么你会想到用SELECT代替RETURN?  SELECT 在MySQL中应该没有返回函数值的作用吧。(我学的Java/c/c++里面,函数都用的是RETURN```)

0 回复 有任何疑惑可以回复我~
#1

wshyzx 提问者

只有第一行那样写才能返回。你的回答我不是很理解
2016-08-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

return怎么写在这里?它又不能返回时间

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信