首页 > 数据库 >mysql函数

mysql函数

时间:2024-11-28 15:34:36浏览次数:7  
标签:函数 ifnull when 数值 123 mysql 字符串 select

# 字符串函数

# 拼接两个字符串 concat(字符串1, 字符串2)
select concat('123', '456'); # 123456

# 字符串中所有字符转小写 lower(字符串)
select lower('Hello'); # hello

# 字符串中所有字符转大写 upper(字符串)
select upper('Hello'); # HELLO

# 字符串向左侧补充长度 lpad(原字符串, 补充后的长度, 被补充的字符串)
select lpad('tx', 5, '0'); # 000tx

# 字符串向右侧补充长度 lpad(原字符串, 补充后的长度, 被补充的字符串)
select rpad('tx', 5, '0'); # tx000

# 清除字符串左右两侧的空格 trim(字符串)
select trim(' hello world! '); # 'hello world!'

# 字符串截取 substring(字符串, 起始位置, 长度)
# 注意:字符串下标是从 1 开始的
select substring('123456', 2, 4); # 2345


# 数值函数

# 向上取整 ceil(数值)
select ceil(12.01); # 13

# 向下取整 floor(数值)
select floor(12.9); # 12

# 两个数值相除取余 mod(数值1, 数值2)
# 相当于js 中的 数值1 % 数值2
select mod(10, 3); # 1

# 生成 0 - 1 之间的随机数
select rand();

# 四舍五入,并保留n位小数,默认n=0 round(数值, n)
select round(12.665, 2) # 12.67



# 日期函数

# 返回当前日期 curdate()
select curdate();

# 返回当前时间 curtime()
select curtime();

# 返回当前日期+时间
select now();

# 注意:格式 日期中必须存在完整的年月日,年月日连接符号可自定义,必须有
# 获取指定date的年份 year(date)
select year('2021/01<01 12:12:12');
# 获取指定date的月份 month(date)
select month('2021-01<01');
# 获取指定date的日期 day(date)
select day('2021-01<05');

# 返回一个日期/时间值加上一个时间间隔 expr 后的时间值
select date_add('2021-01-01', interval 4 year)

# 返回两个日期的间隔天数 datediff(起始时间, 结束时间)
# 注意:datediff 会用第一个日期减去第二个日期
select datediff(curdate(), '2021-01-01')



# 流程函数

# if(value, t, f) 如果value为真,则返回t,否则返回f
select names, if(age >= 18, '成年', '未成年') from person p ;


# ifnull(value1, value2) 如果value1不为空(null),则返回value1,否则返回value2
SELECT ifnull('abc', '123'); # abc
SELECT ifnull('', '123');     # ''
SELECT ifnull(null, '123');  # 123


# CASE WHEN 条件 THEN 值 ... else 值 end
# 满足 when条件则返回then值,否则继续往下执行,直到执行到end
select 
    *, (case when age < 18 then '少年' when age < 35 then '青年' when age < 60 then '中年' else '老年' end)
    from person p 

 

标签:函数,ifnull,when,数值,123,mysql,字符串,select
From: https://www.cnblogs.com/Smile-W/p/18574369

相关文章

  • Access数据库与Mysql数据库的直观对比
    MicrosoftAccess和MySQL都是关系型数据库管理系统,但它们的设计目的、应用场景、功能特性和技术架构等方面存在显著差异。以下是两者的对比:1.目标与应用场景特性/数据库MicrosoftAccessMySQL类型桌面型数据库管理系统(RDBMS)开源的关系型数据库管理系统(RDBMS)主......
  • 【QT】使用Qxlsx读取Excel单元格中函数表达式的结果值
    【QT】使用Qxlsx读取Excel单元格中函数表达式的结果值零、起因是这样的,目前朋友托我写一款模板生成软件,任务是先把他写的程序文件复制一份出来,然后再根据Excel中对应位置的单元格的值,修改程序文件副本中的某些文件。对于读Excel的需求,经过测试,最终选择Qxlsx这款开源QT组件来读取......
  • MySQL Workbench 数据库建模详解:从设计到实践
    目录数据库建模基础概念MySQLWorkbench简介与安装什么是MySQLWorkbench?安装与环境配置MySQLWorkbench数据库建模功能详解EER图(实体关系图)数据库反向工程数据库正向工程模型同步与版本管理MySQLWorkbench数据库建模实战教程创建新模型定义表结构设置关系与约......
  • Python中的函数缓存与记忆化技术:提升性能的必备技能
    《PythonOpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门!在软件开发中,性能优化是永恒的主题,而函数缓存与记忆化技术(Memoization)是提升代码性能的常用手段。它们通过存储函数调用的计算结果,避免重复计算,从而显著提高程序运行效率。Python提供了内置工具(如functo......
  • 如何在 MySQL 中针对包含多个日期值的字段进行特定日期范围查询?
    在存在多个日期值的同个字段中进行特定日期范围查询在数据库中,某些字段可能存在多个日期值,例如:"2022-09-1411:38:21,2022-09-1418:00:00"。通常情况下,查询这类字段时,只能通过简单的范围查询来获取特定日期内的数据,而无法针对分割后的时间范围进行查询。mysql 查询解决方案要......
  • mysql postgresql with 案例
    场景假设假设我们有两张表:sales表:记录了每个产品的销售数量product_id(产品ID)quantity(销售数量)products表:记录了每个产品的详细信息product_id(产品ID)product_name(产品名称)我们的目标是计算每个产品销售数量占总销售量的百分比。 ROUND(expressio......
  • 类的默认成员函数
    文章目录一、类的默认成员函数一、类的默认成员函数默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成以下6个默认成员函数,需要注意的是这6个中最重要的是前4个,最后两个取地址重载不重要1、......
  • insmod一个ko提供基础函数供后insmod的ko使用的方法
    一、背景在内核模块开发时,多个不同的内核模块,有时候可能需要都共用一些公共的函数,比如申请一些平台性的公共资源。但是,这些公共的函数又不方便去加入到内核镜像里,这时候就需要把这些各个内核模块需要用到的一些公共的函数做到一个ko里,先insmod,这样后insmod的内核模块就可以使......
  • JAVA开源毕业设计 渔具租赁系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T005,文末自助获取源码\color{red}{T005,文末自助获取源码}......
  • JAVA开源毕业设计 历史学习网站 Vue.JS+SpringBoot+MySQL
    本文项目编号T004,文末自助获取源码\color{red}{T004,文末自助获取源码}......