Mysql专栏:@Mysql
本篇博客简介:介绍mysql的基内置函数
mysql的内置函数
- 日期函数
- 获取年月日
- 获取时分秒
- 获取时间戳
- 在日期的基础上加上日期
- 在日期的基础上减去日期
- 计算两个日期之差
- 创建一张表 记录生日
- 创建一个留言表
- 字符串函数
- 获取emp表的ename列的字符集
- 要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
- 求学生表中学生姓名占用的字节数
- 将EMP表中所有名字中有S的替换成'上海'
- 截取EMP表中ename字段的第二个到第三个字符
- 以首字母小写的方式显示所有员工的姓名
- 数学函数
- 绝对值
- 向上取整
- 向下取整
- 保留两位小数
- 产生随机数
- 其他函数
- 查询当前用户
- 查询当前数据库
- 加密函数
- ifnull
- 总结
日期函数
函数名 | 作用 |
---|---|
current_date() | 当前日期 |
current_time() | 当前时间 |
current_timestamp() | 当前时间戳 |
now() | 当前日期时间 |
date(datetime) | 返回datetime参数的日期部分 |
date_add(date,interval d_value_type) | 让date的日期或时间增加。interval后的数值单位可以是:year minute second day |
date_sub(date,interval d_value_type) | 让date的日期或时间减少。interval后的数值单位可以是:year minute second day |
datediff(date1,date2) | 两个日期的差,单位是天 |
获取年月日
获取时分秒
获取时间戳
在日期的基础上加上日期
在日期的基础上减去日期
计算两个日期之差
创建一张表 记录生日
插入当前日期
这里的案例其实是告诉我们内置函数可以在sql语句中使用
创建一个留言表
插入数据
显示所有留言信息 只显示日期 不显示时间
查询在2分钟内发布的帖子
两分钟内发布的贴子也就是说给发布帖子的时间加上2分钟时间要快过(大于)现在的时间
字符串函数
函数名 | 函数作用 |
---|---|
charset(str) | 返回字符串字符集 |
concat(string2 [, … ]) | 连接字符串 |
instr(string,substring) | 返回substring在string中的位置,不存在返回0 |
ucase(string2) | 转换成大写 |
lcase(string2) | 转换成小写 |
left(string2,length) | 从string2中,向左截取length个字符 |
right(string2,length) | 从string2中,向右截取length个字符 |
length(string) | string的长度 |
replace(str,search_str,replace_str) | 将str中的search_str替换为replace_str |
strcmp(string1,string2) | 逐字符比较字符串大小 |
substring(str,position [,length]) | 从str的postion开始,取length个字符 |
ltrim(string) rtrim(string) trim(string) | 去除左空格或右空格或左右空格 |
获取emp表的ename列的字符集
要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
求学生表中学生姓名占用的字节数
这里我们需要注意的是 每个汉字是多少个字节在不知道编码规则的情况下是不确定的 一般来说字符集使用utf8时 一个汉字占三个字节
将EMP表中所有名字中有S的替换成’上海’
截取EMP表中ename字段的第二个到第三个字符
以首字母小写的方式显示所有员工的姓名
数学函数
函数名 | 作用 |
---|---|
abs(number) | 绝对值函数 |
bin(decimal_number) | 十进制转二进制 |
hex(decimalNumber) | 转换成十六进制 |
conv(number,from_base,to_base) | 进制转换 |
ceiling(number) | 向上取整 |
floor(number) | 向下取整 |
format(number,decimal_places) | 格式化,保留小数位数 |
hex(decimalNumber) | 转换成十六进制 |
rand() | 返回随机浮点数,范围[0.0,1.0) |
mod(number,denominator) | 取模 |