IF语句
IF( expr1 , expr2 , expr3 )
- expr1 的值为 TRUE,则返回值为 expr2
- expr1 的值为FALSE,则返回值为 expr3
SELECT IF(TRUE,1+1,1+2);
-> 2
SELECT IF(FALSE,1+1,1+2);
-> 3
WITH子句
- WITH子句主要用来创建一个暂时的结果集,这个结果集在后续的查询中可以多次使用
WITH table_name (column_name1, column_name2, ...)
AS ( SELECT column1, column2, ...
FROM table WHERE condition )
自定义函数
(1)自定义函数的两个必要条件:参数、返回值
CREATE FUNCTION function_name(parameter_nametype,[parameter_name type,...])
RETURNS {STRING|INTEGER|REAL}
runtime_body
(2)带复合结构的函数体的自定义函数的创建语法
DELIMITER //
CREATE FUNCTION function_name(parameter_name type,[parameter_name type,...])
RETURNS {STRING|INTEGER|REAL}
BEGIN
//body
END
// /* 此处的"//"为告诉系统函数定义结束 */
- 当函数体内需要执行的是多条语句时,要使用BEGIN...END语句;且当编写函数体内容的时候,需要使用DELIMITER关键字将分隔符先修改为别的,否则编写语句的时候写到';'的时候会直接执行,导致函数编写失败
(3)自定义函数中定义局部变量
- 变量定义
DECLARE var_name[,varname]...date_type [DEFAULT VALUE];
- 为变量赋值
SET parameter_name = value[,parameter_name = value...]
SELECT INTO parameter_name
- 实例
DECLARE x int;
SELECT COUNT(id) FROM tdb_name INTO x;
SET @x = 100;
(4)删除自定义函数
DROP FUNCTION functionName;
(5)自定义函数的调用
SELECT function_name(parameter_value,...);
标签:语句,...,name,自定义,子句,parameter,SELECT,函数
From: https://www.cnblogs.com/shihongpin/p/18407665