数据库常见函数

常见函数:

    调用:select 函数名( 实参列表)【from 表】;

一、字符函数

length:获取参数值的字节个数

    例:select length('张三丰hahaha')  >> 一个中文字母占三个字节,一个英文字母占一个字节。

     

concat:拼接字符串

    例:select concat(last_name, '_', first_name) 姓名 from employees;

upper、lower:字母变为大写、小写

    例:select upper('join');   >> JOIN

substr、substring:截取字符串

    注意:索引从1开始

    #截取从指定索引处后面所有字符

    select substr('你好吗', 2) out_put;    》》好吗

    #截取从指定索引处指定字符长度的字符

    select substr('你好吗', 1, 2) out_put;  》》你好

instr:返回子串第一次出现的索引,如果找不到返回0

    select instr('你好吗最近顺遂吗', '吗') as output;  》》3

    例:查询学员的邮箱的用户名(即邮箱中@前面的字符)

    select substr(email, 1, instr(email, '@')-1) 用户名

    from stuinfo;

trim:去除字符串前后空格或指定字符串

    select length(trim('  你好  ')) as output;  》》6

    select trim('aa' from 'aaaaaaa你好aaaaaa') as output; 》》a你好

lpad:用指定的字符实现左填充指定长度

    select lpad('你好', 1, '*') as out_put;   》》你

    select lpad('你好', 4, '*') as out_put;   》》**你好

rpad:用指定的字符实现右填充指定长度

    select rpad('你好', 4, '*') as out_put;  》》你好**

replace:替换

    select replace('你你你好', '你', '我') as out_put;  》》我我我好

二、数学函数

round 四舍五入

    select round(-1.55);   》》-2

    select round(1.567, 2);  》》1.57 (第二个参数为保留几位小数)

ceil 向上取整。 返回>=该参数的最小整数

    select ceil(1.002);  》》2

    select ceil(1.00);  》》1

    select ceil(-1.02);  》》-1

floor 向下取整。 返回<=该参数的最大整数

    select floor(-9.99);  》》-10

truncate  截断

    select truncate(1.6999, 1);  》》1.6 (从小数点后一位截断)

mod 取余  (被除数为负结果为负,被除数为正结果为正)

    select mod(10, 3);  》》1

    select mod(-10,- 3);  》》-1

    select mod(10,- 3);  》》1

rand 获取随机数,返回0-1之间的小数

三、日期函数

now  返回当前系统日期+时间

    select now();

curdate  返回当前系统日期,不包含时间

    select curdate();

可以获取指定的部分,年、月、日、小时、分钟、秒

    select year(now()) 年;  

   

    SELECT MONTH(NOW());  》7

str_to_date: 将日期格式的字符转换成指定格式的日期

    SELECT STR_TO_DATE('9-13-1999','%m-%d-%y') as result;   >>2019-09-13

   

date_format  将日期转换成字符

    SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;  >> 22年03月31日

datadiff 返回两个日期相差的天数

四、流程控制函数

    if函数:  if else的效果

    if(条件表达式,表达式1,表达式2):如果条件表达式成立,返回表达式1,否则返回表达式2

    select if(10<5, '大', '小')  》》小

    case

    case 要判断的字段或表达式

    when 常量1 then 要显示的值1或语句1;

    when 常量2 then 要显示的值2或语句2;

    …

    else 要显示的值n或语句n;

    end

   

   

五、分组函数

    功能:用作统计使用,又称为聚合函数或统计函数或组函数

分类:

    Sum 求和、avg 平均值、max 最大值、min 最小值、count 计算个数(一般使用count(*)用作统计行数)

    例:select sum(salary) from employees;

特点:

    1、sum、avg一般用于处理数值型;

         max、min、count可以处理任何类型

    2、以上分组函数均忽略null值;

    3、可以和distinct搭配实现去重的运算; select max(distinct 字段)

    4、和分组函数一同查询的字段要求是group by后的字段

  • 9
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值