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

为什么f1显示不出来

http://img1.sycdn.imooc.com//580f077d0001bf4d06320242.jpg我还另外创了f(),f1()自定义函数都不行,我一开始用了SET NAMES gbk;

正在回答

8 回答

 谁知道为什么,删掉 fiction f1,再set names utf8mb4;再创建函数;SELECT f1()就能正常显示了?谁知道原因是什么?是版本问题?

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

先删除掉函数DROP FUNCTION f1;再set names utf8mb4;再创建函数;


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

set names utf8mb4 试试我之前也是,这样就可以


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

mysql> CREATE FUNCTION f2() RETURNS VARCHAR(30)
    -> RETURN DATE_FORMAT(NOW(),'%Y年%m月%d日  %H点:%i分:%s秒');
Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> SELECT f2();
ERROR 1366 (HY000): Incorrect string value: '\xB402\xE6\x9C\x88...' for column 'f2()' at row 1
mysql>

创建f2函数时会出现2warnings,SELECT f2()时报错,怎么解决呢,各位大神们

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

ugly_birds

set names utf8mb4 试试我之前也是,这样就可以
2017-02-09 回复 有任何疑惑可以回复我~

1406 (22001): Data too long for column 'F1()' at row 1

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

字符格式问题 创建函数之前  SET NAMES GBK;   就可以了

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

必须是在数据库里使用,看你的报错是因为字符格式吧。

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

函数是不是数据库所有的? 在调用函数前,需不需要先输入 USE test;    比如说,使用test数据库。

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

举报

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

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

进入课程

为什么f1显示不出来

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