50.8. 函数

简介:

函数会返回数据,调用函数使用 select fun(),不能使用call调用,否则提示

		
mysql> call myfun();
ERROR 1305 (42000): PROCEDURE test.myfun does not exist			
		
		

下面做一个实验

CREATE TABLE `t` (
	`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
	`n` INT(11) UNSIGNED NULL DEFAULT '0',
	PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=5;

CREATE DEFINER=`neo`@`%` FUNCTION `myfun`()
	RETURNS int(11)
	LANGUAGE SQL
	NOT DETERMINISTIC
	READS SQL DATA
	SQL SECURITY DEFINER
	COMMENT ''
BEGIN
	INSERT INTO t (n) VALUES(rand()*100);
	RETURN LAST_INSERT_ID();
END			
		
		
mysql> select myfun();
+---------+
| myfun() |
+---------+
|       9 |
+---------+
1 row in set, 2 warnings (0.07 sec)
		
		

50.8.1. TIMESTAMP TO ISO8601

			
USE `netkiller`;
DROP function IF EXISTS `timestamp_to_iso8601`;

DELIMITER $$
USE `netkiller`$$
CREATE DEFINER=`neo`@`db.netkiller.cn` FUNCTION `timestamp_to_iso8601`(dt timestamp) RETURNS varchar(24) CHARSET utf8
BEGIN

	RETURN DATE_FORMAT( CONVERT_TZ(dt, @@session.time_zone, '+00:00')  ,'%Y-%m-%dT%T.000Z'); 
    
END$$

DELIMITER ;
			
			

调用函数

			
mysql> select timestamp_to_iso8601(current_timestamp()) as iso8601;
+--------------------------+
| iso8601                  |
+--------------------------+
| 2017-12-07T07:21:22.000Z |
+--------------------------+
1 row in set (0.00 sec)
			
			





原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

目录
相关文章
|
机器学习/深度学习 自然语言处理 PyTorch
VLLM (Very Large Language Model)
VLLM (Very Large Language Model) 是一种大型语言模型,通常具有数十亿或数万亿个参数,用于处理自然语言文本。VLLM 可以通过预训练和微调来执行各种任务,如文本分类、机器翻译、情感分析、问答等。
882 1
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
【智能助手体验】分享一款超好用的AI工具:Kimi
Kimi是一款由月之暗面科技有限公司开发的AI助手,具备强大的自然语言理解和文件内容解析能力,支持多种文件格式,并能结合互联网搜索提供全面答案。无论是在工作中的数据分析还是日常生活中的信息查询,Kimi都能给出满意的结果,展现出巨大的应用潜力。
|
12月前
|
机器学习/深度学习 数据采集 人工智能
机器学习是人工智能的一个重要分支
机器学习是人工智能的一个重要分支
162 1
|
SQL 存储 监控
tidb
tidb 练习
2115 0
|
存储 弹性计算 运维
阿里云无影云电脑怎么买?阿里无影云电脑仅19.9元/月起
阿里云无影云电脑怎么买?阿里无影云电脑仅19.9元/月起,阿里云无影云电脑配置具体价格表,无影云桌面4核8G企业办公型云电脑可以免费使用3个月,无影云电脑地域不同价格不同,无影云电脑价格是由云桌面配置、云盘价格、互联网访问带宽价格、AD Connector 价格、桌面组共用桌面session 价格等费用组成
2155 2
|
安全 Windows
keil5安装教程
keil5安装教程
1102 0
keil5安装教程
|
测试技术 项目管理
版本制交付和迭代交付,傻傻分不清楚
最近与云效的客户共创交流中,不少企业问及迭代和版本,我如何选?
1283 0
|
JavaScript 前端开发 Perl
正则表达式系列之 —— Unicode:修饰符 "u" 和类 \p{...}
正则表达式系列之 —— Unicode:修饰符 "u" 和类 \p{...}
539 0
正则表达式系列之 —— Unicode:修饰符 "u" 和类 \p{...}
|
SQL 安全 数据库
【MyBatis-Plus】MyBatis-Plus插件机制以及通用Service、新功能(二)
【MyBatis-Plus】MyBatis-Plus插件机制以及通用Service、新功能(二)
536 0
【MyBatis-Plus】MyBatis-Plus插件机制以及通用Service、新功能(二)
|
XML Android开发 数据格式
autojs简洁的登录界面
牙叔教程 简单易懂
529 0