MySQL中常见函数之单行函数的简单介绍和举例

单行函数

格式:select 函数(实参列表)from table
分类

1. 单行函数,2. 分组函数
**目录**
一.字符函数
二.数学函数
三.日期函数
四.流程控制函数

一.字符函数

1.-length #获取的是字节个数,utf-8编码,汉字2,字母1

select length('  hhh哈 ' )from table    =>结果为5

2.-concat #拼接字符串

select concat(name,'----------',age) from table    =>结果 小明-----18

3.-upper:字母变大写 - lower:字母变小写

select upper('aBcD') =>结果ABCD
select upper('aBcD') =>结果abcd

4.-substr/-substring(string,开始索引,截取长度) #字符串截取

#两个参数,截取索引处后面所有字节
select substr('123456789',5)=>结果为56789
#三个参数
#SQL里索引从1开始,并不是0
#从1开始后面五个字节长度,看好,是字节
select substr('123456789',1,5)=>结果为12345

5.-instr(string,string) #返回子串的起始索引

select instr('abcdef','cd') =>结果为3
select instr('abcdef','aa') =>结果为0

6.-trim#去除字符串两端的字符或者空格

#去除空格
select trim('         abc         ') =>结果为 'abc'
#去除指定字符
select trim('a' from 'aaaa啊啊aaaa啊啊aa') =>结果为 '啊啊aaaa啊啊'

7.-lpad #指定的字符实现左填充

#10指的是结果需要10个字符
select lpad('索马里',10,'*') =>结果*******索马里
#数据本身长度大于指定则从右边截断
select lpad('索马里',2,'*') =>结果索马

-rpad #指定的字符实现右填充

select rpad('索马里',10,'*') =>结果索马里*******
#数据本身长度大于指定则从左边截断
select rpad('索马里',2,'*') =>结果马里 

8.replace 替换

select replace('abababcc','a','b')结果为=>bbbbbbcc

二.数学函数

1.round #四舍五入

#绝对值四舍五入然后再加上符号
select 	round(-1.45) =>结果为-1
#两个参数,第二个参数为保留多少小数
select  round(-1.456,2) =>结果为-1.46

2.cell #向上取整

#返回大于参数的最小整数
select  cell(-1.45) =>结果为-1

2.floorl #向下取整

#返回大于参数的最小整数
select  floor(-1.45) =>结果为-2

3.-truncate#截断,小数点后保留位数

#返回大于参数的最小整数
select  truncate(-1.459999,1) =>结果为-1.4

4.-mod#取模/取余
#值=a-a/b*b

select mod(10,3)  =>结果是1	

三.日期函数

1.-now() # 日期函数

select now() 返回标准日期格式yyyy-MM-dd- HH-mm-ss

2.-str_to_data #字符串转时间

select str_to_data('1999-08-10','%Y-%m-%d')
select str_to_data('10-1999-08','%d-%Y-%m')

3.-data_format #日期转字符串

select data_format(now(),%Y-%m-%d)

在这里插入图片描述

四.流程控制函数

1.-if(判断,true返回,false返回)

select if(age>18,成年,未成年)

2.-case
格式
case(要判断的字段或者表达式)
#如果只是值可以不加分号,语句需要加分号
when 常量1 then 要显示的值1或者语句1;
when 常量2 then 要显示的值2或者语句2;
else 要显示的值n或者语句n;
end

3.-case第二种使用,类似于多重if else
case
#如果只是值可以不加分号,语句需要加分号
when 常量1 then 要显示的值1或者语句1;
when 常量2 then 要显示的值2或者语句2;
else 要显示的值n或者语句n;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值