MySQL数据库 : 函数和存储过程

CONCAT 可以把多个字符串连在一起,如把 doc_id 和 title这两个字段的查询结果组合成一个字符串:
SELECT CONCAT(doc_id,title) FROM simhash;

CONCAT_WS可以用指定的分隔符把多个字符串连接在一起,第一个参数为连接符,剩下的是字符串,如:
SELECT CONCAT_WS(‘-‘,doc_id,title) FROM simhash; doc_id和title中间会用 - 隔开

FORMAT()可以把数字格式化为字符串,第一个参数是要格式化的数字,第二个参数为保留小数点后多少位.

LOWER()把一个字符串所有字母转成小写, UPPER()把字符串所有字母转成大写

LEFT()是取一个字符串的前几位,第一个参数是字符串,第二个参数是取前多少个字符.RIGHT()同理

LENGTH()获取字符串长度, LTRIM(), RTRIM(), TRIM() 分别是删除前面的空格,后面的空格以及前后的空格.

REPLACE()替换字符串,第一个参数是字符串,第二个参数是被替换的字符串,第三个参数是新字符串(可以用多个字符替换多个字符)

SUBSTRING()截取字符串,第一个 参数是需要截取的字符串,第二个参数是从第几个字符开始截(mysql从1开始,没有0),第三个参数是截几个

CEIL() 向上取整, FLOOR()向下取整, DIV()整数除法(舍弃小数位), MOD()取余, POWER()幂运算 ROUND()四舍五入, TRUNCATE数字截取

NOW()当前日期和时间, CURDATE()当前日期, CURTIME()当前时间, DATE_ADD()时间增加或减少,如 DATE_ADD(NOW(),INTERVAL 1 MONTH) 代表当前时间加上1个月, DATEDIFF()计算两个日期的差值, DATE_FORMAT()日期格式化,第一个参数是需要格式化的日期第二个参数是格式化样式,如 SELECT date_format(now(),‘%Y-%m-%d %H:%m:%s‘)

聚合函数: AVG()平均数, COUNT()总数, MAX()最大值, MIN()最小值, SUM()求和

加密函数: MD5(), PASSWORD()

declare 声明的变量是局部变量,只能在存储过程中或函数中使用,变量以@开头,用 set声明的,如 set @a = 1,这种变量是会话变量,对一个会话都有效.

典型函数主体写法: declare定义局部变量, set赋值, while xxx do end while 是循环语句, if xxx then end if 是判断语句

BEGIN
declare dis int;
declare i int;
set dis = 0;
set i = 0;
while i < 64 do
if(new_num >> i & 1) != (old_num >> i & 1) then
set dis = dis + 1;
end if;
set i = i + 1;
end while;
RETURN dis;
END

原文地址:https://www.cnblogs.com/cccy0/p/9866684.html

时间: 2024-10-15 14:06:23

MySQL数据库 : 函数和存储过程的相关文章

Mysql导出函数、存储过程

下面是导出存储过程的代码 1 # mysqldump -u 数据库用户名 -p -n -t -d -R 数据库名 > 文件名 其中,-d 表示--no-create-db, -n表示--no-data, -t表示--no-create-info, -R表示导出function和procedure.所以上述代码表示仅仅导出函数和存储过程,不导出表结构和数据.但是,这样导出的内容里,包含了 trigger.再往mysql中导入时就会出问题,错误如下: ERROR 1235 (42000) at li

用JAVA调用Mysql数据库,数据存储过程的封装与调用;

1.存储过程的封装:右键函数--新增函数--选择进程(进程是没有返回值的)或者选择函数(函数是有返回值的) 2.在这里我们选择进程--进入后点击下一步 模式中有IN(往里输入参数),OUT(往外输出参数),INOUT,在这里我们通常使用的就是IN和OUT,如果什么也不写系统默认为IN. 建立好函数之后我们既要把要执行的命令封装到函数里,例如: 注意:在写完一条语句后要加分号,参数varchar类型后要加上长度. 实例: package com.inba.maya.cunchu; import j

mysql数据库—函数、数据备份、流程控制

函数 内置函数 日期相关: 字符串相关: 数字相关: 其他函数: 当然也包括之前学习的聚合函数 自定义函数 语法: CREATE FUNCTION f_name(paramters) returns dataType; return value; 说明: paramters 只能是in 输入参数 参数名 类型 必须有返回值 不能呢加begin 和end returns 后面是返回值的类型 这里不加分号 return 后面是要返回的值 案例: 将两数相加 create function addfu

MySQL 导出函数与存储过程

C:\Users\yan>mysqldump -u用户 -p -n -t -d -R 数据库 > 1.sql Enter password: ******** C:\Users\yan>

mysql 函数,存储过程举例

关于mysql的函数与存储过程的举例: /*创建teacher*/CREATE table teacher(id INT(4) NOT NULL PRIMARY KEY auto_increment,num INT(10) not NULL UNIQUE,tname VARCHAR(20) NOT NULL, sex VARCHAR(4) not NULL,birthday DATE,address VARCHAR(50)); /*向表teacher中插入数据*/insert into teac

三大数据库下的存储过程实现通用分页

三大数据库下的存储过程实现通用分页  SqlServer数据库下通用存储过程实现分页: 1 --通用存储过程分页 2 CREATE PROCEDURE procList 3 --我们需要传入的参数 4 @strWhere NVARCHAR(max), --查询条件 5 @PageSize INT, --每页显示多少条内容 6 @PageIndex INT , --当前页 7 @TableName NVARCHAR(max), --需要查询的表名 8 @ColName NVARCHAR(max),

[转]mysql 导入导出数据库以及函数、存储过程的介绍

本篇文章是对mysql中的导入导出数据库命令以及函数.存储过程进行了详细的分析介绍,需要的朋友参考下: mysql常用导出数据命令:1.mysql导出整个数据库  mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql   mysqldump -hlocalhost -uroot hqgr> hqgr.sql    # (如果root用户没用密码可以不写-p,当然导出的sql文件你可以制定一个路径,未指定

mysql导入数据库中的存储过程和函数出现错误的解决办法

mysql导入数据库中的存储过程和函数出现错误的解决办法 调用一个远程拷贝的本地Mysql的储存过程 报错:[Err] 1449 - The user specified as a definer ('repl'@'192.168.1.%') does not exist  解决想法: 凭借以前经常见到的[email protected]报错,给root赋值所有权限: grant all privileges on *.* to [email protected]"%" identif

代码收藏系列--mysql创建数据库、数据表、函数、存储过程命令

创建mysql数据库 CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 创建mysql数据表 drop table if exists `table_name`; create table if not exists `table_name` ( id int auto_increment primary key comment '主键编号', `name` va