mysql(八)函数
来源:互联网 发布:8月经济数据不及预期 编辑:程序博客网 时间:2024/05/22 04:45
1、MySQL内置函数
SELECT执行函数,后面跟要执行的函数
CHAR_LENGTH(str)函数:返回字符串的字符长度
-- CHAR_LENGTH(str)函数:返回字符串的字符长度SELECT CHAR_LENGTH('欢迎光临');
LENGTH(str)函数:返回字符串的字节长度
-- LENGTH(str)函数:返回字符串的字节长度SELECT LENGTH('欢迎光临');
CONCAT(str1,str2,...)函数:拼接字符串
-- CONCAT(str1,str2,...)函数:拼接字符串SELECT CONCAT('你好','欢迎光临');
CONCAT_WS(链接符,str1,str2,...)函数:自定义链接符,拼接字符串
-- CONCAT_WS(链接符,str1,str2,...)函数:自定义链接符,拼接字符串SELECT CONCAT_WS('_','你好','欢迎光临');
CONV(N,from_base,to_base)函数:进制转换
-- CONV(N,from_base,to_base)函数:进制转换SELECT CONV('a',16,2); -- 表示将 a 由16进制转换为2进制字符串表示
FORMAT(X,D)函数:将数字X 的格式写为'#,###,###.##',以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若 D 为 0, 则返回结果不带有小数点,或不含小数部分。
-- FORMAT(X,D)函数:将数字X 的格式写为'#,###,###.##',以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若 D 为 0, 则返回结果不带有小数点,或不含小数部分。SELECT FORMAT(12332.1,4); -- 结果为: '12,332.1000'
INSERT(原始字符串,替换起始位置,替换长度,替换的新字符串)函数:在str的指定位置插入字符串
-- INSERT(原始字符串,替换起始位置,替换长度,替换的新字符串)函数:在str的指定位置插入字符串SELECT INSERT('欢迎光临官方网站',5,2,'我们'); -- 返回:欢迎光临我们网站
其他函数
INSERT(str,pos,len,newstr) 在str的指定位置插入字符串 pos:要替换位置其实位置 len:替换的长度 newstr:新字符串 特别的: 如果pos超过原字符串长度,则返回原字符串 如果len超过原字符串长度,则由新字符串完全替换 INSTR(str,substr) 返回字符串 str 中子字符串的第一个出现位置。 LEFT(str,len) 返回字符串str 从开始的len位置的子序列字符。 LOWER(str) 变小写 UPPER(str) 变大写 LTRIM(str) 返回字符串 str ,其引导空格字符被删除。 RTRIM(str) 返回字符串 str ,结尾空格字符被删去。 SUBSTRING(str,pos,len) 获取字符串子序列 LOCATE(substr,str,pos) 获取子序列索引位置 REPEAT(str,count) 返回一个由重复的字符串str 组成的字符串,字符串str的数目等于count 。 若 count <= 0,则返回一个空字符串。 若str 或 count 为 NULL,则返回 NULL 。 REPLACE(str,from_str,to_str) 返回字符串str 以及所有被字符串to_str替代的字符串from_str 。 REVERSE(str) 返回字符串 str ,顺序和字符顺序相反。 RIGHT(str,len) 从字符串str 开始,返回从后边开始len个字符组成的子序列 SPACE(N) 返回一个由N空格组成的字符串。 SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len) 不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。 mysql> SELECT SUBSTRING('Quadratically',5); -> 'ratically' mysql> SELECT SUBSTRING('foobarbar' FROM 4); -> 'barbar' mysql> SELECT SUBSTRING('Quadratically',5,6); -> 'ratica' mysql> SELECT SUBSTRING('Sakila', -3); -> 'ila' mysql> SELECT SUBSTRING('Sakila', -5, 3); -> 'aki' mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2); -> 'ki' TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str) TRIM(remstr FROM] str) 返回字符串 str , 其中所有remstr 前缀和/或后缀都已被删除。若分类符BOTH、LEADIN或TRAILING中没有一个是给定的,则假设为BOTH 。 remstr 为可选项,在未指定情况下,可删除空格。 mysql> SELECT TRIM(' bar '); -> 'bar' mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx'); -> 'barxxx' mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx'); -> 'bar' mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz'); -> 'barx'
文本函数
函数
用法
描述
CONCAT()
CONCAT(x,y,...)
创建形如xy的新字符串
LENGTH()
LENGTH(column)
返回列中储存的值的长度
LEFT()
LEFT(column,x)
从列的值中返回最左边的x个字符
RIGHT()
RIGHT(column,x)
从列的值中返回最右边的x个字符
TRIM()
TRIM(column)
从存储的值删除开头和结尾的空格
UPPER()
UPPER(column)
把存储的字符串全部大写
LOWER()
LOWER(column)
把存储的字符串全部小写
SUBSTRING()
SUBSTRING(column, start, length)
从column中返回开始start的length个字符(索引从0开始)
MD5()
MD5(column)
把储存的字符串用MD5加密
SHA()
SHA(column)
把存储的字符串用SHA加密
数字函数
函数
用法
描述
ABS()
ABS(x)
返回x的绝对值
CEILING()
CEILING(x)
返回x的值的最大整数
FLOOR()
FLOOR(x)
返回x的整数
ROUND()
ROUND(x)
返回x的四舍五入整数
MOD()
MOD(x)
返回x的余数
RNAD()
RNAD()
返回0-1.0之间随机数
FORMAT()
FORMAT(x,y)
返回一个格式化后的小数
SIGN()
SIGN(x)
返回一个值,正数(+1),0,负数(-1)
SQRT()
SQRT(x)
返回x的平方根
日期和时间函数
函数
用法
描述
HOUR()
HOUR(column)
只返回储存日期的小时值
MINUTE()
MINUTE(column)
只返回储存日期的分钟值
SECOND()
SECOND(column)
只返回储存日期的秒值
DAYNAME()
DAYNAME(column)
返回日期值中天的名称
DAYOFMONTH()
DAYOFMONTH(column)
返回日期值中当月第几天
MONTHNAME()
MONTHNAME(column)
返回日期值中月份的名称
MONTH()
MONTH(column)
返回日期值中月份的数字值
YEAR()
YEAR(column)
返回日期值中年份的数字值
CURDATE()
CURDATE()
返回当前日期
CURTIME()
CURTIME()
返回当前时间
NOW()
NOW()
返回当前时间和日期
格式化日期和时间(DATE_FORMAT()和TIME_FORMAT())
名词
用法
示例
%e
一月中的某天
1~31
%d
一月中的某天,两位
01~31
%D
带后缀的天
1st~31st
%W
周日名称
Sunday~Saturday
%a
简写的周日名称
Sun-Sat
%c
月份编号
1~12
%m
月份编号,两位
01~12
%M
月份名称
January~December
%b
简写的月份名称
Jan~Dec
%Y
年份
2002
%y
年份,两位
02
%l
小时
1~12
%h
小时,两位
01~12
%k
小时,24小时制
0~23
%H
小时,24小制度,两位
00~23
%i
分钟
00~59
%S
秒
00~59
%r
时间
8:17:02 PM
%T
时间,24小时制
20:17:02 PM
%p
上午或下午
AM或PM
更多函数:中文猛击这里 OR 官方猛击这里
2、自定义函数
create function 创建函数
-- create function 创建函数-- create function 函数名称 (形式参数名称,形式参数类型)-- returns int 返回整数类型-- BEGIN 函数内容开始 -- 函数内容-- END 函数内容结束delimiter $$DROP function if EXISTS f1; -- 判断这个函数如果存在删除create function f1( -- 创建函数,接收两个整数类型参数 i1 int, i2 int)returns int -- 返回整数类型BEGIN declare num int; -- 定义num变量,整数类型 set num = i1 + i2; -- 将传值相加后,赋值给num变量 return(num); -- 返回num变量END $$delimiter ;
函数以创建
执行自定义函数
-- 执行自定义函数SELECT f1(5,6); -- 返回11
将函数放在查询语句里,将函数返回结果与查询语句返回结果组合
-- 执行自定义函数SELECT f1(5,6),id,yhm,xb,nl FROM usr;
将函数放在查询语句里,函数的参数如果是写的某个字段,那么这个字段的值将传入函数里执行
-- 执行自定义函数SELECT f1(5,nl),id,yhm,xb,nl FROM usr; -- 函数的参数如果是写的nl字段,那么这个字段的值将传入函数里执行
删除函数
drop function 删除函数,后面跟要删除的函数名称
-- drop function 删除函数,后面跟要删除的函数名称drop function f1;
pymysql模块,执行函数
注意:函数与存储过程的区别
存储过程是:CREATE PROCEDURE 创建的
函数时:create function 创建的
存储过程是:CALL 执行的
函数时:SELECT 执行的
函数里:不支持SQL语句【重点】
存储过程里:支持SQL语句【重点】
- mysql(八)函数
- mysql(八):mysql常用函数
- MySQL知识(八)——自定义函数
- MySQL 优化(八)
- MySQL 优化(八)
- mysql(八、触发器)
- MYSQL优化(八)
- Mysql学习(八)
- MySQL学习(八)
- MySQL (八)
- MySQL (八)
- (八)绘图函数
- (八)函数
- MySQL学习笔记(八)
- MySQL自学篇(八)
- MYSQL学习笔记(八)
- MySQL(八)之DML
- 14解析函数(八)
- [置顶] 微信小程序自定义对话框+弹出和隐藏动画详解
- Codeforces 385C Bear and Prime Numbers【巧妙用埃筛】
- G1垃圾收集器入门
- MLDS Lecture Notes
- 自定义SeekBar
- mysql(八)函数
- HDU 2017 多校联合训练赛6 1008 6103 Kirinriki 优美的暴力
- io流面试题简单实现的一些方法
- selenium环境配置报错2则
- Android开发之Android Studio在debian上的安装
- spring 各个jar详解以及在maven中的配置
- 与海康8200平台进行GB28181对接时的一些注意事项
- jvm基础配置(一)
- laravel 笔记