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

SQL学习笔记3

SQL常用函数

1、字符串函数

函数调用的语法:select 函数(参数);

常用的字符串函数有:

拼接字符串,将几个字符串拼到一起:concat (s1,s2,……);

select concat('你好','hello');
update mytable set wherefo = concat('中国',wherefo);

将所有字符转换为大写:upper(字符串);

select upper('hello')

将所有字符转换为小写::lower(字符串);

select lower('HELLO');

使用指定的字符对字符串左填充到指定长度:lpad(字符串,长度,填充字符);

select lpad('01',5,'*');
update mytable set number= lpad(number,10,'0');

使用指定的字符对字符串右填充到指定长度:rpad(字符串,长度,填充字符);

select rpad('01',5,'*');

去除字符串头尾的空格:trim(字符串)

select trim('  hello  ');

返回从指定位置出发长度为n的字符串子串:substring(string,start,len);

select substring('hellohello',1,5);
update mytable set number = substring(number,5,6)

2、数值函数

常见的数值函数有

对x向上取整,取大于x的最小整数:ceil(x)

select ceil(1.2);

对x向下取整,取小于x的最大整数:floor(x)

select floor(1.9);

取x/y的模,x除以y的余数:mod(x,y)

select mod(5,4);

生成0-1之间的随机数:rand()

#随机生成六位数验证码
select lpad((round(rand(),6))*1000000,6,(round(rand(),1)*10));

取x四舍五入后保留y位的数:round(x,y)

select round(3.14159,2)

3、日期函数

返回当前日期:curdate()

select curdate();

返回当前时间:curtime()

select curtime();

返回当前日期与时间:now()

select now();

获取指定date的年份:year(date)

select year('2025-3-3');

获取指定date的月份:month(date)

select month('2025-3-3');

获取指定date的日期:day(date)

select day('2025-3-3');

返回date加指定时间exp的类型后的date:date_add(date,interval exp type)

select date_add('2025-3-3',interval 70 day);

返回date1与date2相差的时间:datediff(date1,date2)

select datediff(curdate(),'2025-3-3')
select name as ‘姓名’,datediff(curdate(),dates) as '入学天数' from mytable order by '入学天数','姓名';

4、流程函数

判断value值,若为ture,则返回值1,若为false,则返回值2:if(value,值1,值2)

select name as '姓名' ,if(wherefo='中国北京','是','否') as '是否北京' from mytable;

判断值1的值,若值1不为null,则返回值1,否则返回值2:ifnull(值1,值2)

select ifnull(null,1);

若value1为ture,则返回值1,若value2为ture,则返回值2……否则返回default:case when value1 then 值1 when  value2 then 值2 ……else default end

selectname as '姓名',(case when score >=560 then '优秀'when score >=520 then '良好'when score >=480 then '及格'else '不及格'end) as '成绩情况'
from mytable;

判断exp的值,若为value1,则返回值1……否则返回default:case exp when value1 then 值1……else default end

select name as '姓名',(case wherefowhen '中国北京' then '一线城市'when  '中国上海' then '一线城市'else '其他城市'end) as '居住情况'
from mytable;

http://www.lryc.cn/news/575478.html

相关文章:

  • recipes的版本比较老如何更新到新版本?
  • Twitter外贸精准获客全景策略(2025实战版)
  • dlib检测视频中的人脸并裁剪为图片保存
  • 【C#】 DevExpress.XtraEditors.SidePanel
  • OSEK/VDX OS ISO17356-3,【2】OS架构概述
  • 《大模型 Agent 应用实战指南》第4章:核心 Agent 设计与提示工程
  • 热点代码探测确定何时JIT
  • 【STM32】[特殊字符] WWDG(窗口看门狗)学习笔记
  • ESP32 VSCODE进入menuconfig时ESP-IDF idf.py menuconfig卡进度条,setuptools版本太高解决方法
  • 【Linux】软硬链接,动静态库
  • 第4篇:响应处理——返回数据给客户端(Gin文件下载,JSON,XML等返回)
  • [架构之美]Spring Boot 3.5.3新特性解析及JDK21集成
  • Pydantic 模型
  • python pandas数据清洗
  • 【攻防篇】解决:阿里云docker 容器中自动启动xmrig挖矿
  • 解锁阿里云Datatransport:数据迁移的终极利器
  • 前端项目3-01:登录页面
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(4):2022年12月2023年12月
  • WPF中Converter基础用法
  • OceanBase SQL 引擎高级技术学习笔记(通俗篇)
  • 智能制造——58页智慧工厂解决方案【附全文阅读】
  • python中学物理实验模拟:斜面受力分析
  • Elasticsearch 中的精确搜索与模糊搜索
  • electron 如何配置 打开控制台
  • Android 开发 获取Debug 跟 Release 包的SHA1值
  • DeepSeek16-open-webui Pipelines开发填坑
  • C语言再出发:2025年AI时代的关键语言
  • 华为云Flexus+DeepSeek征文|基于华为云一键部署 Dify-LLM 平台,结合 MCP 工具与 DeepSeek 模型打造智能学习助手
  • 【stm32】HAL库开发——Cube配置基本定时器
  • 猴子爬山(华为OD)