MySQL函数和过程(三)
--加密32位字符
select md5('123456')
--获取字符串的长度(一个中文三个长度)
select LENGTH('呵呵')
--获取字符串字符个数
select CHAR_LENGTH('呵呵')
--删除前导空格
SELECT CHAR_LENGTH(ltrim(' mysql'))
--删除前导空格
SELECT LTRIM(' mysql')
--删除后续空格
select rtrim('mysql ')
--同时删除前后端空格
SELECT TRIM(' mysql ')
--删除后导某些字符
SELECT TRIM(TRAILING'@@'from '@@mysql@@')
--删除前导某些字符
SELECT TRIM(LEADING'@@'from '@@mysql@@')
--字符串截取(从1开始)
SELECT SUBSTRING('mysql database' ,3,3)
--字符串替换('单引号别忘了')
SELECT REPLACE('mysql database','a', 'A')
--字符串反转
SELECT REVERSE('mysql')
--返回n个前导空格构成的字符串
SELECT LENGTH(SPACE(4))
--字符串拼接
SELECT CONCAT('msql',SPACE(2),'database')
--使用制定的字符连接字符串
SELECT CONCAT_WS(' ','mysql','database')
--数字格式化
SELECT FORMAT(31415.926,2)
--字母转大写
SELECT UPPER('java')
--字母转小写
SELECT LOWER('JAVA')
--获取左边字符
SELECT LEFT('java',2)
--获取右侧字符
SELECT RIGHT('java',2)
--比较字符串(相等为0,前者大与后者为1,后者大与前者为-1)
SELECT STRCMP('A','B')
--取绝对值
SELECT ABS(-3);
--进一取整
SELECT CEIL(3.14)
--舍一取整
SELECT FLOOR(3.14)
--求商
SELECT 5 DIV 2
--求模
SELECT MOD(5,2)
--幂运算
SELECT POW(5,5)
--四舍五入
SELECT ROUND(3.14)
--取圆周率
SELECT PI()
--截断数字
SELECT TRUNCATE(PI(),2)
--返回0~1之间的随机数
SELECT RAND()
--获取当前时间
SELECT NOW()
--获取当前日期
SELECT CURRENT_DATE()
--获取当前时间
SELECT CURRENT_TIME()
--返回日期date加上间隔时间int的结果
SELECT DATE_ADD(NOW(),INTERVAL 2 DAY)
--返回日期date减去间隔时间int的结果
SELECT DATE_SUB(NOW(),INTERVAL 2 DAY)
--求日期之差('单引号别忘了')
SELECT DATEDIFF('2019-07-31','2019-07-29')
--日期格式化
SELECT DATE_FORMAT(NOW(),'%Y%m%d %H%i%s')
-- 查看当前库所有自定义函数
SELECT * FROM MYSQL.PROC WHERE 1 = 1 AND DB = 'test' AND TYPE = 'FUNCTION';
-- 查看当前库某个自定义函数的定义
SHOW CREATE FUNCTION GET_STUDENT_NAME;
-- 删除某自定义函数
DROP FUNCTION GET_STUDENT_NAME;
-- 创建自定义函数
DELIMITER ;;
CREATE FUNCTION GET_STUDENT_NAME(vsno CHAR(6))
RETURNS VARCHAR(20)
BEGIN
DECLARE rname VARCHAR(20) DEFAULT '';
SELECT SNAME INTO rname FROM T_STUDENT WHERE SNO = vsno;
RETURN rname;
END
;;
DELIMITER ;
-- 使用自定义函数
SELECT GET_STUDENT_NAME('S20165');
-- 查看当前库有所有自定义过程
SELECT * FROM MYSQL.PROC WHERE 1 = 1 AND DB = 'test' AND TYPE = 'PROCEDURE';
-- 查看当前库某个自定义过程的定义
SHOW CREATE PROCEDURE PROC_GET_STUDENT_NAME;
-- 删除存储过程
DROP PROCEDURE PROC_GET_STUDENT_NAME;
-- 创建存储过程
DELIMITER ;;
CREATE PROCEDURE PROC_GET_STUDENT_NAME(IN vsno CHAR(6), OUT rname VARCHAR(20))
BEGIN
SELECT SNAME INTO rname FROM T_STUDENT WHERE SNO = vsno;
END
;;
DELIMITER ;
-- 调用存储过程
call PROC_GET_STUDENT_NAME('S20165', @rname) ;
SELECT @rname;
--数据库关联
SELECT * FROM a a
INNER JOIN b b
ON a.id=b.id
WHERE a.id=1
--在数据库创建账号密码表
CREATE TABLE sys_user (
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(20) NOT NULL,
PASSCODE CHAR(32) NOT NULL,
status TINYINT UNSIGNED NOT NULL DEFAULT '1'
);

|
函数名 |
描述 |
|
LENGTH(str) |
获取字符串长度 |
|
CHAR_LENGTH(str) |
获取字符串的字符个数 |
|
LTRIM(str) |
删除前导空格 |
|
RTRIM(str) |
删除后续空格 |
|
TRIM([{both | leading | trailing} [remstr] from] str) |
删除前导和后续空格 |
|
SUBSTRING(str, pos[, len]) |
字符串截取 |
|
REPLACE(str, from_str, to_str) |
字符串替换 |
|
REVERSE(str) |
字符串反转顺序 |
|
SPACE(n) |
返回由n个空格构成的字符穿 |

|
函数名 |
描述 |
|
CONCAT(column | str) |
字符连接 |
|
CONCAT_WS(separator, str1, st2, …) |
使用指定的分隔符进行字符连接 |
|
FORMAT(X, D[, locale]) |
数字格式化 |
|
LOWER(column | str) |
转化成小写字母 |
|
UPPER(column | str) |
转化为大写字符 |
|
LEFT(str, len) |
获取左侧字符 |
|
RIGHT(str, len) |
获取右侧字符 |
|
STRCMP(str1, str2) |
两个字符串相同返回0,前者大于后者返回1,前者小于后者返回-1 |

|
函数名 |
描述 |
|
ABS(x) |
取绝对值 |
|
CEIL(x) |
进一取整 |
|
DIV |
整数除法 |
|
FLOOR(x) |
舍一取整 |
|
MOD(x, y) |
取余数(模) |
|
POWER(x, y) |
幂运算 |
|
ROUND(x, y) |
四舍五入 |
|
TRUNCATE(x, y) |
截断数字 |
|
PI() |
取圆周率π的值 |
|
RAND() |
返回0到1之间的伪随机数 |

|
名称 |
描述 |
|
[NOT] BETWEEN…AND… |
[不]在范围内 |
|
[NOT] IN() |
[不]在列出的范围内 |
|
IS [NOT] NULL |
[不]为空 |

|
函数名 |
描述 |
|
NOW() |
当前日期和时间 |
|
CURDATE()或CURRENT_DATE() |
当前日期 |
|
CURTIME()或CURRENT_TIME() |
当期时间 |
|
DATE_ADD(date, INTERVAL int keyword) |
返回日期date加上间隔时间int的结果 |
|
DATE_SUB(date, INTERVAL int keyword) |
返回日期date加上间隔时间int的结果 |
|
DATEDIFF(date1, date2) |
日期差值 |
|
DATE_FORMAT(date, fmt) |
日期格式化 |

|
函数名 |
描述 |
|
CONNECTION_ID() |
连接ID |
|
DATEBASE() |
当前数据库 |
|
LAST_INSERT_ID() |
最后插入记录的ID号 |
|
USER() |
当前用户 |
|
VERSION() |
版本信息 |

|
函数名 |
描述 |
|
AVG() |
平均值 |
|
COUNT() |
计数 |
|
MAX() |
最大值 |
|
MIN() |
最小值 |
|
SUM() |
求和 |

|
函数名 |
描述 |
|
MD5() |
数据摘要算法 |
|
PASSWORD() |
密码算法 |

语法






MySQL函数和过程(三)的更多相关文章
- mysql 函数 存取过程
1.打开数据库 2.选择函数,点击新建函数,选择过程,点击完成 4.写入自己要添加的sql语句 5.点击CTAL + S 保存,如若报错则语法或函数错误
- Mysql 函数使用记录(三)——UNIX_TIMESTAMP() 、UNIX_TIMESTAMP(date)
参考资料:https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_unix-timestamp UN ...
- MySql创建函数与过程,触发器, shell脚本与sql的相互调用。
一:函数 1:创建数据库和表deptartment, mysql> use DBSC; Database changed mysql), ), )); Query OK, rows affect ...
- 三十四、MySQL 函数
MySQL 函数 MySQL 有很多内置的函数,以下列出了这些函数的说明. MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII 码. 返回 Cust ...
- mysql自定义函数与过程中写法的注意事项
BEGIN #Routine body goes here... /* update szzx_goods_common set gc_id=i where gc_name=(SELECT gc_na ...
- MySQL系列教程(三)
mySQL集群(cluster) 这一章,我根本不打算写,因为mySQL 的 官方Cluster方案基本上都是bullshit,尤其是它的官方集群方案,竟然都无人维护了,而且mySQL集群完全可以用眼 ...
- Mysql - 函数
Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- MySQL 函数大全
mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...
随机推荐
- PHPCMS v9插件包整合
插件包是已经修改好的文件集合,您可以直接将插件包复制到您的网站中. 注意:插件包会替换phpcms中的文件,如果您修改过phpcms中的文件请先备份好旧的文件. 1.下载插件包 2.解压 3.复制里面 ...
- 独立看门狗 IWDG
一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如 ...
- mysql 进程
--------------------查看mysql所有进程-----------show full processlist -------------------查看mysql 账号权限----- ...
- P2051 [AHOI2009]中国象棋——DP(我是谁,我在哪,为什么)
象棋,给你棋盘大小,然后放炮(炮的数量不限),不能让炮打到其他的炮,问方案数: 数据n,m<=200; 状态压缩似乎能做,但是我不会: 因为只要状态数,所以不必纠结每种状态的具体情况: 可以想出 ...
- 1-7HSB色彩模式
http://www.missyuan.com/thread-350721-1-1.html HSB色彩模式色相hue.饱和度saturation.明度brightness 在HSB模式中,S和B的取 ...
- 两大主流开源分布式存储的对比:GlusterFS vs. Ceph
两大主流开源分布式存储的对比:GlusterFS vs. Ceph 存储世界最近发生了很大变化.十年前,光纤通道SAN管理器是企业存储的绝对标准,但现在的存储必须足够敏捷,才能适应在新的基础架构即服务 ...
- Selenium处理页面懒加载方法
在做selenium webdriver 在做UI自动化时,有些页面时使用懒加载的形式显示页面图片,如果在不向下移动滚动条时,获取到的图片会是网站的默认图片和真实的图片不相符. 1.滑动滚动条 1. ...
- easyui复选框实现单选框
$(':checkbox[name=primary_key_flag]').each(function(){ $(this).click(function(){ if(this.checked){ $ ...
- COM 基础 之 三大基础接口
摘自 http://blog.csdn.net/liang4/article/details/7530512 1 COM组件实际上是一个C++类,而接口都是纯虚类.组件从接口派生而来. 2 COM组件 ...
- SpringBoot保存数据报错:could not execute statement; SQL [n/a]; constraint [PRIMARY];nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
使用SpringBoot做JAVA开发时,用Repository.save();保存数据的时候遇到了报错: could not execute statement; SQL [n/a]; constr ...