Mysql 常用函数(字符串、数值、日期、流程控制函数)

本文介绍了MySQL字符串操作函数如concat、lower和upper,数值函数如ceil和round,以及日期函数如curdate和datediff。同时涵盖Python中的基础运算和日期处理技巧。通过实例演示如何在实际开发中运用这些技术处理数据。
摘要由CSDN通过智能技术生成

一、字符串函数

  • concat:将2个字符串拼接起来
select concat('Hello' , ' MySQL');

结果为:
Hello MySQL

  • lower: 使字符串的字母均变为小写
select lower('Hello');

结果为:
hello

  • upper :使字符串的字母均变为大写
select upper('Hello');

结果为:
HELLO

  • lpad : 将长度不足5(可以改为其他长度)的字符串左边用"%"(可选择其他字符)补齐
select lpad('01', 5, '%');

结果为:
%%%01

  • rpad :将长度不足5(可以选择其他长度)的字符串右边用"%"(可选择其他字符)补齐
select rpad('01', 5, '%');

结果为:
01%%%

  • trim :去除字符串头和尾的空格(中间空格不去除)
select trim(' Hello  MySQL ');

结果为:
Hello MySQL

  • substring(‘a’,b,c) :截取字符串a的第b位到第c位(c>b)
select substring('Hello MySQL',1,5);

结果为:
Hello

二、数值函数

  • ceil :向上取整
select ceil(1.1);

结果为:
2

  • floor :向下取整
select floor(1.9);

结果为:
1

  • mod(a,b) : 得到 a除以b的余数
select mod(7,4);

结果为:
3

  • rand :得到0-1之间的随机数
select rand();

结果可以为:
0.704647089079625

  • round(a,b) : 将a四舍五入并且保留b位小数
select round(2.344,2);

结果为:
2.34

三、日期函数

  • curdate() :显示当前的年月日
select curdate();

比如:
2022-07-28

  • curtime() : 显示当前的时间点
select curtime();

比如:
15:26:53(依次为时分秒,24小时制)

  • now() : 显示当前的具体时间
select now();

比如:
2022-07-28 15:28:00

  • YEAR , MONTH , DAY : 分别显示当前的年、月、日
# 分别显示当前的年、月、日
select YEAR(now());
select MONTH(now());
select DAY(now());

比如今天是2022年7月28日,则结果为:
2022
7
28

  • date_add :当前时间往后延一段时间
select date_add(now(), INTERVAL 70 YEAR );

比如上述的例子表示的是当前时间往后延70年,则为:2092-07-28 15:39:30 ;
当然可以以“MONTH"或者"DAY" 为单位对当前时间进行延后。

  • datediff(‘a’ , ‘b’) : 时间a比时间b延迟多少(前面的时间减去后面的时间
select datediff('2021-10-01', '2021-12-01');

结果为:
-61

四、流程控制函数

  • if(a,b,c)
    如果a为真,则返回b; 若a为假,则返回c
select if(false, 'Ok', 'Error');

结果为:
Error

  • ifnull(a,b)
    如果a不为空值,则返回a;若a为空值,则返回b
select ifnull('Ok','Default');

结果为:
Ok

select ifnull('','Default');

结果为一个空格(空格不为空值)

select ifnull(null,'hello');

结果为:
hello

  • case when then else end

例如,一个名为"test"的表格如下:

nameaddress
小红上海
小明海口
小辉佛山
小慧北京
小敏南京

要求将上述表格中出现的住址中的北京/上海标注为 ”一线城市“ , 其他城市标注为"二线城市"

select
    name as '姓名' ,
    ( case address when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end ) as '住址'
from test;

结果为:

姓名住址
小红一线城市
小明二线城市
小辉二线城市
小慧一线城市
小敏二线城市
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值