MySQL内置函数

本文介绍了MySQL中常用的日期、字符串、数学和其他辅助函数,包括获取当前日期/时间、添加/减日期、字符串处理、数学运算以及用户信息、加密和条件判断等,旨在帮助读者理解和应用这些功能。
摘要由CSDN通过智能技术生成

日期函数

函数名称描述
current_date()当前日期
current_time()

当前时间

current_timestamp()当前时间戳
date(datetime)返回datetime的日期部分
date_add(date, interval d_value_type)

在date后面添加日期或时间

interval 后面的单位可以是 year,minute,second,day

date_sub(date,interval d_value_type)同date_add,只不过是相减
datediff(date1,date2)两个日期的差,单位是天
now()当前日期时间

在mysql中有一系列可以获取日期的函数,这些函数都是通过select调用,使用方式和c++的函数一样,可以函数之间互相嵌套,不过需要注意类型。

 使用date_add 和 date_sub 需要注意添加 interval 关键字

测试案例

我们创建一个表,其变量是 id,sendtime 和 content。

 然后插入两个评论。

等过了两分钟后,再插入一条评论。

然后再通过 select sendtime content from msg where sendtime > date_addsub(now(),interval 10 minute);来筛选十分钟之前插入的数据。

 发现找到了十分钟前插入的数据。

字符串函数

名称说明
charset(str)返回字符串字符集
concat(string [...)连接字符串
instr(string,substring)返回substring在string中的位置
ucase(string2)切换成大写
lcase(string2)切换成小写
lefr(sring, length)从string左边选length个字符
length(string)string的长度
replace(str,search_str,replace_str)将str中的search_str用replace_str替换
strcmp(string1,string2)比较两个字符串的大小
substring(str,pos,length)从str的pos开始,取length个字符
ltrim(str)   rtrim(str)     trim(str)去除前空格,去除后空格,去除所有空格

通过上述函数可以将数据组合成一串字符来输出。 

 

又或者将某一个字符修改。

当然,和日期函数类似,字符串函数也能嵌套使用。

不过有一点需要注意的是,length(str) 这个函数返回的是字符串的字节个数,如果是中文的话,根据字符集不同,返回长度不同。

比如我这里是utf8的字符集,一个中文占3字节。

输出的就是3的倍数。

 

数学函数

 

函数名描述
abs(num)绝对值函数
bin(decimal_num)十进制转二进制
hex(decimal_num)转换成十六进制
conv(num,from_base,to_base)进制转换
ceiling(num)向上取整
floor(num)向下取整
format(num,decimal_num)格式化,保留小数位数
rand()返回随机浮点数,范围[0.0,1.0)
mod(num,denominator)取模,求余

数学函数相比于前面的函数就没什么需要详细说的,都很简单。

向上取整就是四舍五入,向下取整是直接舍弃小数点

其他函数

函数名描述
user()查询当前用户
md5(str)对一个字符串进行摘要,得到一个32位字符串
database()显示正在使用的数据库
password(str)mysql通过该函数对用户加密
ifnull(val1,val2)如果val1为null,返回val2,否则返回val1

user函数就是直接显示当前的用户 

md5就是通过对一个字符串进行一个摘要,固定得到一个32位字符串 

 database则返回当前使用的数据库

而password这个函数一般是mysql进行加密的,使用过这个函数的语句无法通过 ↑ 和 ↓ 键来重新获得指令,而且这个函数一般用不了。

ifnull就是就看1是不是null,是就返回第二个数据,否则返回第一个数据。 

 总结

mysql 的函数都很简单,不过使用率很高,本文总结了四大类型的函数,也展示和说明了它们的用法,希望对大家有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值