数据库基础--函数简介

本文介绍了SQL中的一些基本函数,包括字符串函数如CONCAT、LOWER、UPPER等,数值函数如CEIL、FLOOR、RAND、ROUND,日期函数如CURDATE、NOW、DATE_ADD以及流程控制函数IF和IFNULL。示例展示了如何使用这些函数来处理数据,如生成随机验证码、计算员工入职天数等。
摘要由CSDN通过智能技术生成

函数:

是指一段可以直接被另一段程序调用的程序或代码。

字符串函数:

//字符串拼接

select concat('Hello' , 'MySQL');

//将字符串全部转换为小写

select lower('Hello');

//将字符串全部转换为大写

select upper ('Hello');

//左填充

select lpad('01',5,'-');             用字符串 '-' 对 '01' 的左边进行填充,达到5个字符串长度

//右填充

select rpad('01',5,'-');             用字符串 '-' 对 '01' 的右边进行填充,达到5个字符串长度

//去掉字符串头部和尾部的空格

select trim(' Hello MySQL');

//返回字符串 'Hello MySQL' 从1位置起的5个长度的字符串

select substring('Hello MySQL',1,5);

注意:

空格问题

根据需求完成以下SQL编写

由于业务需求变更,企业员工的工号,统一为5位数,目前不足5位数的全部在前面补0。

update emp set empno = lpad(empno,5,'0');

数值函数

//向上取整

select ceil(1.5);                           2 

//向下取整

select floor(1.1);                          1

//返回 x/y 的值

select mod(5,4);                            1                       取模

//返回 0~1 之间的随机数

select rand();                             随机值

//求参数 2.3646 四舍五入的值,保留 2 位小数

select ROUND(2.3646,2);                     2.36

根据需求完成以下SQL编写

通过数据库的函数,生成一个六位数的随机验证码。

select lpad(round(rand()*1000000,0),6,'0');

日期函数

//返回当前日期

select curdate();

//返回当前日期

select curdate();

//返回当前时间

select curtime();

//返回当前日期和时间

select now();

//获取指定date的年份

select year(now());

//获取指定date的月份

select month(now());

//获取指定date的日期

select day(now());

//返回一个日期/时间值加上一个时间间隔 70 day 后的时间值

select date_add(now(),INTERVAL 70 day);

//返回起始时间date1(2023-12-01)和结束时间date2 (2021-03-02)之间的天数

select datediff('2023-12-01','2021-03-02');

根据需求完成以下SQL编写

查询所有员工的入职天数,并根据入职天数倒序排序。

select name,datediff(curdate(),hiredate) as 'entrydays' from emp order by entrydays;

流程控制函数

select if(false,'ok','error');

select ifnull('ok','default');

select ifnull('','default');

select ifnull(null,'default');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值