建设网站的要求,wordpress网站如何添加内链,开源企业网站内容管理系统,如何注册海外域名函数 MySQL函数与其存储过程类似#xff0c;是一系列完成某种功能的SQL语句。函数一旦定义后#xff0c;与过程一样是存储在MySQL的服务器上。调用函数就是一次性执行这些语句。所以函数可以降低语句重复。 MySQL本身提供了内置函数#xff0c;这些函数的存在给我们日常的开…函数 MySQL函数与其存储过程类似是一系列完成某种功能的SQL语句。函数一旦定义后与过程一样是存储在MySQL的服务器上。调用函数就是一次性执行这些语句。所以函数可以降低语句重复。 MySQL本身提供了内置函数这些函数的存在给我们日常的开发和数据操作带来了很大的便利MySQL提供的常用函数包括聚合函数字符串函数日期时间函数控制流函数等。 MySQL除了可以使用它提供的内置函数外我们亦可以按照我们的要求来实现我们自己的功能可是这个函数式系统不能提供的因为这中需求的不确定性。因此我们需要自己来解决这种需求。还好MySQL设计的扩展性给了我们这个机会我们可以通过自定义函数的功能解决这个问题。 函数名称作用abs绝对值mod求余数sqrt求二次方根ceil和ceiling都是小于参数的最小整数向上取整floor向下取整返回值转换为bigintrand生成0-1的之间的随机数round四舍五入sign返回带参数的符号pow和 power都是所传代数的次方的结果值sin求正弦值asin求反正弦值cos求余弦值acos求反余弦值tan求正切值atan求反正切值cot求余切值
abs求绝对值 函数absx返回x的绝对值正数的绝对值时本身负数的绝对值时相反数0的绝对值是0 select abs(5),abs(1.1),abs(-3.3),abs(0);sqrt求二次方根开方 函数SQRT(x)返回非负数x的二次方根负数没有平方根返回结果为null select sqrt(25),sqrt(120),sqrt(-9);mod求余数 函数modx,y返回x被y除后的余数mod对于带小数部分的数据也会起作用返回除法算后的余数 select mod(63,8),mod (120,10),mod(15.5,3);ceil和ceiling向上取整 函数ceil和ceiling的意义是相同的返回不小于x的最小整数值返回值转换为一个bigint select ceil(-2.5),ceil(3.3),ceiling(2.5);floor向下取整 函数floor(x)返回小于x的最大整数值 select floor(5),floor(5.66),floor(-4),floor(-4.66);rand生成一个随机数 生成一个0-1之间的随机数 select rand(),rand(),rand();round四舍五入 返回最近于参数x的整数roundx)函数对参数x进行四舍五入的操作 select round(-6.6),round(-8.44),round(3.44);sign返回参数的符号 返回参数的符号x的值为负数零和正数时分别返回-101 select sign(-6),sign(0),sign(34);pow和 power次方函数 函数用于计算x的y次方 select pow(5,-2),pow(10,3),power(4,3),pow(100,0),power(6,-3);sin正弦函数 sin(x返回x的正弦值x值为弧度值 select sin(1),sin(0.5*pi()),pi();asin求反正弦值
select asin(30),asin(25);MySQL字符串函数
函数名称作用length计算字符串长度函数concat字符串拼接insert替换字符串函数lower将字符串中的字母转换为小写upper将字符串中的字母转换为大写left从左侧截取字符串返回字符串左边的若干个字符right从右侧截取字符串返回字符串右边的若干个字符trim删除字符串左右两侧的空格replace字符串替换函数返回替换后的新字符串substr和substring截取字符串reverse字符串反转
length返回字符串长度 返回值为字符串的字节长度unicode码为utf8为万国码变长字符出一个汉字占3个字节一个数据或者字母占一个字节 select length(helloworld);concat字符串拼接
select concat(张三,java),concat(李,四,java);insert替换字符串 insert(s1,x,len,s2)返回字符串s1子字符串起始于x位置并且用len个字符长的字符串代替为s2 select insert(java,2,4,**)As col1,insert(shell,-1,4,**)as col2,insert(张三学习java,3,20,**)as col3;lower将字母转换为小写 lowerstr可以将字符串str中的字母全部转换为小写 select lower(张三JAVAZHANGSAN);upper将字母转换为大写 upperstr可以将字符串str中的字母字符全部转换为大写 select upper(张三javazhangsan);left从左侧截取字符串
select left(张三java,2),left(李四java,4),left(王五,-1);right从右侧截取字符串
select right(张三java,2),right(李四java,4),right(王五,-1);trim删除字符串两侧空格
select [ zhagnsan ] ,concat([ ,李四 ]),trim( [ zhagnsan ] );substr和substring截取字符串
select substr(javaScipt,3)select substr(javaScipt,3,2)reverse反转字符串
select reverse(张三java)MySQL日期和时间函数
函数名称作 用curdate 和 current_date两个函数作用相同返回当前系统的日期值curtime 和 current_time两个函数作用相同返回当前系统的时间值now 和 sysdate两个函数作用相同返回当前系统的日期和时间值unix_timestamp获取UNIX时间戳函数返回一个以 UNIX 时间戳为基础的无符号整数from_unixtime将 UNIX 时间戳转换为时间格式与UNIX_TIMESTAMP互为反函数month获取指定日期中的月份monthname获取指定日期中的月份英文名称dayname获取指定曰期对应的星期几的英文名称dayofweek获取指定日期是一周中是第几天返回值范围是1~7,1周日week获取指定日期是一年中的第几周返回值的范围是否为 0〜52 或 1〜53dayofyear获取指定曰期是一年中的第几天返回值范围是1~366dayofmonth获取指定日期是一个月中是第几天返回值范围是1~31year获取年份返回值范围是 1970〜2069time_to_sec将时间参数转换为秒数sec_to_time将秒数转换为时间与TIME_TO_SEC 互为反函数date_add 和 adddate两个函数功能相同都是向日期添加指定的时间间隔date_sub 和 subdate两个函数功能相同都是向日期减去指定的时间间隔addtime时间加法运算在原始时间上添加指定的时间subtime时间减法运算在原始时间上减去指定的时间datediff获取两个日期之间间隔返回参数 1 减去参数 2 的值date_format格式化指定的日期根据参数返回指定格式的值weekday获取指定日期在一周内的对应的工作日索引
curdate 和 current_date返回当前系统的日期值
select curdate(),current_date,current_date1;curtime 和 current_time返回系统当前时间
select curtime(),current_time,current_time1;now 和 sysdate获取当前时间日期
select now(),sysdate();unix_timestamp获取unix时间戳
select unix_timestamp();from_unixtime时间戳转日期
格式说明%M月名字%W星期名字%D有英语前缀的月份和日期%Y年数字4位%y年数字2位%d月份的天数00-31%e月份的天数0-31%a缩写的星期名字%m月数字01-12%c月数字1-12%b缩写的月份名字Jan-Dec%j一年中的天数001-366%H小时00-23%h小时01-12%lL的小写小时1-12%k小时0-23%Ii的大写小时01-12%i分钟数字00-59%S秒00-59%s秒00-59%r时间12小时hh:mm:ss [AP]M%T时间24小时(hh:mm:ss)%pAM或者PM%U星期0-52星期天是星期第一天%u星期0-52星期一是星期的第一天%%输出%
select from_unixtime(1663989244),from_unixtime(1663989244,%Y-%m-%d %H:%i:%s);month指定日期的月份
select month(2022-9-24),month(now());monthname获取指定日期月份的英文名称
select monthname(2022-9-24),monthname(now());dayname获取指定日期的星期名称
select now(),dayname(now());dayofweek获取日期对应的周索引 1表示周天2表示周一。。。。 select now(),dayofweek(2022-9-25);week获取指定日期是一年中的第几周
模式一周的第一天范围0星期日0-531星期一0-532星期日1-533星期一1-534星期日0-535星期一0-536星期日1-537星期一1-53
select now(),week(2022-12-31);dayofyear获取指定曰期是一年中的位置
select now(),dayofyear(now()),dayofyear(2020-12-31);dayofmonth获取指定日期在一个月的位置
select now(),dayofmonth(now()),dayofmonth(2020-12-31);year获取年份
select now(),year(now()),year(2020-12-31);time_to_sec将时间转换位秒值
select time_to_sec(5:5:5),now(),time_to_sec(now());sec_to_time将秒转换为时间格式
select sec_to_time(18305),now(),sec_to_time(42004);date_add 和 adddate向日期添加指定时间间隔
select date_add(2022-9-21,interval 365 day );date_sub 和 subdate日期减法运算
select date_sub(2022-9-21,interval 365 day );addtime时间加法运算
select addtime(2022-9-24 11:47:36,0:1:1);subtime时间减法运算
select subtime(2022-9-24 11:47:36,0:1:1);datediff获取两个时间的时间间隔
select datediff(2022-9-24,2019-12-26);date_format格式化指定的日期
select date_format(2022-9-24,%Y年%m月%d日);weekday获取指定日期在一周内的索引位置
select now(),weekday(now());MySQL聚合函数
函数名称作用max查询指定列的最大值min查询指定列的最小值count统计查询结果的行数sum求和返回指定列的总和avg求平均值返回指定列数据的平均值
MySQL流程控制函数
函数名称作用if判断流程控制ifnull判断是否为空case搜索语句
if:判断 ifexprv1,v2 当expr为真是返回v1的值为假返回v2的值 select if(12,1,0),if(15,√,×);ifnull:判断是否为空 ifnull(v1,v2):当v1为空则放回v2当v1有值则放回v1 select ifnull(非空,为空),ifnull(null,空),ifnull(空,null),ifnull(null,null);case搜索语句
方式1 case 表示式 when值1 then操作 。。。 else操作 end case; 方式2 case when值1 then命令 。。。 else commands end case; create table t_stu(id int auto_increment comment 学号,name varchar(20) comment 姓名,sex tinyint comment 性别0未知1男2女,primary key (id)
)charset utf8mb4 collate utf8mb4_bin engine InnoDB;insert into t_stu(name,sex) values (张三,1),(李四,2),(王五,1);
insert into t_stu(name, sex) values (赵六,3),(唐七,0);select id, name, sex from t_stu;需求查询所有学生信息,输出姓名性别男女未知
select name 名字, (case sexwhen 1then 男when 2then 女else 未知 end) 性别 from t_stu;其他函数
函数名称作用version数据库版本号database当前数据库user当前连接用户名password返回字符串密码形式md5返回字符串的md5数据
select version();
select database();
select user();
select password(123456);
select md5(zhangsan123456lisiwangwu123456)