当前位置: 首页 > news >正文

SQL-函数

1、字符串函数

# 字符函数
select concat('hello' , ' mysql!');
select lower('HELLO');
select upper('hello');
select lpad('01',5,'-');# 左填充
select rpad('01',5,'-');# 右填充
select trim('  hello mysql ! ');# 去除前后空格
select substring('hello mysql!',1,7);# 截取一部分字符前7个,索引从1开始#  补充工号为5位,前面补充0
desc employee;
select * from employee;
update employee set workno = lpad(workno,5,'0') where workno<10000;

2、数值函数

# 数值函数
select ceil(1.7); # 向上取整
select floor(1.1); # 向下取整
select mod(7,4); # 求余数
select rand(); # 0-1之间随机数
select round(2.35677,2); # 四舍五入,保留两位# 生成一位六位数的随机验证码
select lpad(round(rand()*1000000,0),6,'0');

3、日期函数

# 日期函数
select curdate();# 当前日期  2024-08-27
select curtime(); # 当前时间
select  now(); # 当前日期和时间 2024-08-27 09:10:02
select year(now()); # 年
select month(now());# 月
select day(now());#日
select date_add(now(),interval 7 day); #2024-09-03 09:09:48
select datediff('2024-09-01','2024-10-02');# 返回相差的天数# 查询全部人的入职天数,并根据天数倒序排序
select * from employee;
update employee set entrydate='2019-09-07' where workno ='00066';
update employee set entrydate='2019-09-08' where workno ='00067';select  name,workno,datediff(curtime(),entrydate) days from employee order by days desc;
select  name,workno,datediff(curtime(),entrydate) as 'entrydays' from employee order by entrydays desc;

4、流程函数

# 流程函数
select if(true,'ok','error'); # 第一个参数条件语句true则返回第二个参数,否则第三个
select if(1=2,'ok','error');
select if(1=1,'ok','error');
select  ifnull('ok','Default');# 判断第一个参数是否为空,非空返回第一个,否则第二个
select  ifnull(null,'Default');alter table employee add ip varchar(10) comment '地址';
update employee set ip ='北京' where workno=66;
update employee set ip ='武汉' where workno=67;
# 查询姓名和地址(北京---->政治中心,其他------->金融中心)
selectname,(case ipwhen '北京' then '政治中心'when '上海' then '金融中心'else '其他'end) as 'IP属性'
from employee
order by IP属性 desc;# 统计成绩给出等级
create table score(id int comment 'id',name varchar(5) comment '姓名',math int comment'数学',english int comment '英语',chinese int comment'语文'
)comment'学院成绩表';
insert into score (id,name,math,english,chinese)
values(1,'tom',67,46,36),(2,'jim',23,56,78),(3,'alice',78,99,65),(4,'momo',67,87,75);
selectid,(case when math>=85 then 'A'when math>=60 then 'B' else 'C' end) '数学',(case when english>=85 then 'A'when english>=60 then 'B' else 'C' end) '英语',(case when chinese>=85 then 'A'when chinese>=60 then 'B' else 'C' end) '语文'
from score;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Open3D 基于曲率大小的特征点提取
  • 微信小程序中如何监听元素进入目标元素
  • stm32F103 串口2 中断 无法接收指定字符串 [已解决]
  • 用idea写Spark程序时,想要在控制台打印日志?
  • class 6: vue.js 3 组件化开发
  • 微服务--Nacos配置管理
  • axios返回的是promise对象如何处理?
  • Mysql高阶语句(1)
  • Python教程:使用 Python 和 PyHive 连接 Hive 数据库
  • HALCON 错误代码 #7709
  • 缓存分布式一致性问题
  • Golang 小项目(3)
  • 【重学 MySQL】六、MySQL 的下载、安装、配置
  • npm、yarn、pnpm小节
  • css三点闪烁(可用于加载样式、标题等)
  • JavaScript-如何实现克隆(clone)函数
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 【笔记】你不知道的JS读书笔记——Promise
  • exif信息对照
  • Kibana配置logstash,报表一体化
  • PHP 7 修改了什么呢 -- 2
  • Redux 中间件分析
  • windows下如何用phpstorm同步测试服务器
  • 基于组件的设计工作流与界面抽象
  • 使用SAX解析XML
  • 移动端解决方案学习记录
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Nginx实现动静分离
  • 浅谈sql中的in与not in,exists与not exists的区别
  • (4.10~4.16)
  • (9)目标检测_SSD的原理
  • (Forward) Music Player: From UI Proposal to Code
  • (Note)C++中的继承方式
  • (SERIES12)DM性能优化
  • (八十八)VFL语言初步 - 实现布局
  • (分布式缓存)Redis分片集群
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .gitignore文件使用
  • .NET 发展历程
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET企业级应用架构设计系列之技术选型
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • /var/lib/dpkg/lock 锁定问题
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝
  • @vue/cli脚手架
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [1] 平面(Plane)图形的生成算法
  • [28期] lamp兄弟连28期学员手册,请大家务必看一下
  • [8] CUDA之向量点乘和矩阵乘法
  • [Algorithm][综合训练][kotori和气球][体操队形][二叉树中的最大路径和]详细讲解
  • [Android实例] 保持屏幕长亮的两种方法 [转]