mysql内置函数

2021dragon 2021dragon     2023-01-09     383

关键词:

文章目录

MySQL内置函数

日期函数

日期函数

常用的日期函数如下:

函数名称描述
current_date()获取当前日期
current_time()获取当前时间
current_timestamp()获取当前时间戳
now()获取当前日期时间
date(datetime)获取datetime参数的日期部分
date_add(date, interval d_value_type)在date中添加日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
date_sub(date, interval d_value_type)在date中减去日期或时间,interval后的数值单位可以是:year、month、day、hour、minute、second
datediff(date1, date2)获取两个日期的差,单位是天

current_date函数

current_date函数用于获取当前的日期。如下:

current_time函数

current_time函数用于获取当前的时间。如下:

current_timestamp函数

current_timestamp函数用于获取当前的时间戳,以日期时间格式进行显示。如下:

now函数

now函数用于获取当前的日期时间。如下:

date函数

date函数用于获取当前的日期时间。如下:

date_add函数

date_add函数用于在日期的基础上添加日期或时间。如下:

如果在date_add函数中添加的日期/时间为负值,则相当于在日期的基础上减去日期/时间。如下:

date_sub函数

date_sub函数用于在日期的基础上减去日期或时间。如下:

如果在date_sub函数中减去的日期/时间为负值,则相当于在日期的基础上添加日期/时间。如下:

datediff函数

datediff函数用于获取两个日期的差,单位是天。如下:

综合案例

创建一个评论表,表中包含自增长的主键id、昵称、评论内容和评论时间。如下:

向表中插入一些数据,插入时直接通过now函数指明评论时间。如下:

在显示评论信息时,如果只想显示评论的日期而不显示评论的时间,可以在查询sendtime字段时,通过date函数截取sendtime的日期部分进行显示。如下:

再不定时向表中插入一些数据。如下:

在显示评论信息时,如果要查询2分钟内发布的评论信息,实际就是要筛选出评论时间加上2分钟后大于当前时间的评论,这时需要同时借助date_add和now函数。如下:

字符串函数

字符串函数

常用的字符串函数如下:

函数名称描述
charset(str)获取字符串使用的字符集
concat(str1, str2 [, …])获取连接后的字符串
instr(str, substr)获取substr在str中首次出现的位置,没有出现返回0
ucase(str)获取转换成大写后的字符串
lcase(str)获取转换成小写后的字符串
left(str, length)从字符串的左边开始,向后截取length个字符
length(str)获取字符串占用的字节数
replace(str, search_str, replace_str)将字符串中的search_str替换成replace_str
strcmp(str1, str2)逐字符比较两个字符串的大小
substring(str, position [, length])从字符串的position开始,向后截取length个字符
ltrim(str)、rtrim(str)、trim(str)去除字符串的前空格、后空格、前后空格

charset函数

现有如下员工表,要求获取员工表中ename列使用的字符集。如下:

在查询员工表中的信息时,使用charset函数获取ename列使用的字符集即可。如下:

concat函数

现有如下成绩表,要求以“XXX的语文是XX分,数学是XX分,英语是XX分”的格式显示成绩表中的信息。如下:

在查询成绩表中的信息时,使用concat函数按要求进行字符串连接即可。如下:

instr函数

instr函数用于获取一个字符串在另一个字符串中首次出现的位置,如果没有出现则返回0。如下:

ucase函数

ucase函数用于获取转换成大写后的字符串。如下:

lcase函数

lcase函数用于获取转换成小写后的字符串。如下:

left函数

left函数用于从字符串的左边开始,向后截取指定个数的字符。如下:

length函数

length函数用于获取字符串占用的字节数。如下:

说明一下: 对于多字节字符来说,不同编码中一个字符所占的字节个数是不同的,比如utf8中一个字符占用3个字节,而gbk中一个字符占用2个字节。

replace函数

replace函数用于将字符串中的指定子字符串替换成另一个字符串,例如将员工表中所有名字中的“S”替换成“上海”。如下:

strcmp函数

strcmp函数用于逐字符按照ASCII码比较两个字符串的大小,两个字符串大小相等返回0,前者大返回1,后者大返回-1。如下:

需要注意的是,strcmp函数在比较时是不区分大小写的。如下:

substring函数

substring函数用于从字符串的指定位置开始,向后截取指定个数的字符。如下:

使用substring函数时,如果没有指定要截取的字符个数,则默认从指定位置开始截取到最后。如下:

例如截取员工表中ename字段的第二个到第三个字符。如下:

ltrim、rtrim和trim函数

trim函数用于去除字符串的前后空格。如下:

ltrim和rtrim函数分别用于去除字符串的前空格和后空格。如下:

综合案例

要求以首字母小写的方式显示员工表中所有员工的姓名,思路如下:

  • 使用substring函数,截取员工姓名的第一个字符,然后使用lcase将其转换成小写。
  • 使用substring函数,截取员工姓名的第二个字符及其后续字符。
  • 使用concat函数,将第一次截取并转换成小写的首字母,和第二次截取的字符串进行连接。

最终concat函数连接后得到的字符串便是首字母小写的员工姓名。如下:

数学函数

数学函数

常用的数学函数如下:

函数名称描述
abs(number)绝对值函数
bin(decimal_number)十进制转换成二进制
hex(decimal_number)十进制转换成十六进制
conv(number, from_base, to_base)from_base进制转换成to_base进制
ceiling(number)向上取整
floor(number)向下取整
format(number, n)格式化,保留n位小数(四舍五入)
rand()生成随机浮点数,范围 [0.0, 1.0)
mod(number, denominator)求余

abs函数

abs函数用于获取一个数的绝对值。如下:

bin函数

bin函数用于将一个十进制数转换成二进制。如下:

hex函数

hex函数用于将一个十进制数转换成十六进制。如下:

conv函数

conv函数用于将一个数从一个进制转换成另一个进制。如下:

ceiling函数

ceiling函数用于对一个数进行向上取整。如下:

需要注意的是,向上取整本质是向正无穷方向取整,因此负数向上取整后得到的是第一个大于等于该数的整数。如下:

floor函数

floor函数用于对一个数进行向下取整。如下:

需要注意的是,向下取整本质是向负无穷方向取整,因此负数向下取整后得到的是第一个小于等于该数的整数。如下:

format函数

format函数用于对数值进行格式化,以四舍五入的方式保留指定位数的小数。如下:

rand函数

rand函数用于生成0.0到1.0的随机浮点数。如下:

如果想要生成0到100的随机数,可以用生成的随机浮点数乘以100,然后再以某种取整方式进行取整。如下:

mod函数

mod函数用于对数值进行求余运算。如下:

其他函数

user函数

user函数用于获取MySQL连接的当前用户名和主机名。如下:

md5函数

md5函数用于对一个字符串进行md5摘要,摘要后得到一个32位字符串。如下:

拓展:

  • 一般情况下公司内部数据库不会存储用户的明文密码,而会将用户密码形成摘要后存储对应的摘要,当用户登录账号时,将用户输入的的密码形成摘要后与数据库中存储的摘要做对比,如果对比成功则允许登录。
  • 这么做的好处主要有两个,第一个好处就是公司内部数据库中存储的不是用户的明文信息,就算用户信息泄露了也不会产生太大影响,第二个好处就是形成的摘要是定长的,这样有利于数据库表结构的设计。

database函数

database函数用于显示当前正在使用的数据库。如下:

password函数

password函数用于对用户数据进行加密。如下:

ifnull函数

ifnull函数接受两个参数,如果第一个参数不为null则返回第一个参数值,否则返回第二个参数值。如下:

mysql内置函数

文章目录日期函数字符串函数数学函数其它函数日期函数获得年月日获得时分秒:获得时间戳在日期的基础上加日期在日期的基础上减去时间计算两个日期之间相差多少天使用示例一创建一个表记录生日向表中添加日期使用... 查看详情

mysql从青铜到王者第五篇:mysql内置函数

系列文章目录文章目录系列文章目录前言一、日期函数1.获得年月日2.获得时分秒3.获得时间戳4.在日期的基础上加上时间5.在日期的基础上减去时间6.计算两个日期相差多少天7.当前日期时间date(now())8.date(datetime)返回datetime的参数... 查看详情

mysql内置函数

文章目录MySQL内置函数日期函数字符串函数数学函数其他函数MySQL内置函数日期函数日期函数常用的日期函数如下:函数名称描述current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳now()获取当前日... 查看详情

mysql内置函数获取几天前的日期(代码片段)

如何采用mysql内置函数获取指定时间之前的日期呢?SELECT something FROM table_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col; 获取30天前的日期。selectdate_sub(now(),interval1year);获取一年前的今天的日期 selectdate_sub 查看详情

mysql内置函数:year()week()兼容(代码片段)

...;year()、week()不存在。问题原因瀚高数据库内核未兼容MySQL内置函数year()、week()。解决方案通过瀚高工程师编写MySQL内置函数year()、week(),函数定义如下:CREATEORREPLACEFUNCTION模式.year(indatetimestampwithtimezone)RETURNSintegerLANGUAGEplpgs... 查看详情

mysql内置函数

文章目录日期函数字符串函数数学函数其它函数日期函数获得年月日获得时分秒:获得时间戳在日期的基础上加日期在日期的基础上减去时间计算两个日期之间相差多少天使用示例一创建一个表记录生日向表中添加日期使用... 查看详情

mysql第七期函数(代码片段)

...效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在SQL语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的.1.2不同DB... 查看详情

函数总结

...些。在讨论日期查询的复杂性之前,让我们看看最重要的内置日期处理程序。MySQLDate函数下表列出了MySQL中最重要的内置日期函数:函数描 查看详情

python的内置模块详解(代码片段)

...传入参数的方式使用其他文件的功能函数二、模块有哪些内置模块自定义模块第三方模块三、如何导入模块  导入模块分为4种:1#导入模块2importmode_test3#导入mode_test模块中的connect_mysql功能函数4frommode_testimportconnect_mysql5#导入mod... 查看详情

MySQL 函数和 CodeIgniter 活动记录

...eRecord简单、文档齐全且功能强大。但是当我尝试插入MySQL内置函数CONCAT、NOW、GROUP_CONCAT、DATEDIFF、TRIM等或我的自定义函数时,它会出错。以下代码可以正常工作.. 查看详情

mysql函数function(代码片段)

函数内置函数function字符串--常用函数串操作函数set@str=hello中国;select@str,length(@str),char_length(@str),character_length(@str),reverse(@str);selectspace(6),repeat(*,10),left(@str,2),mid(@str,2,3),right(@str,3);selectra 查看详情

selectraw

mysql内置函数:dateselectdate("2010-08-1719:08:28");显示是"2010-08-17"在laravel中使用内置函数的时候必须使用selectRaw()这个方法,但是当涉及到多表连接查询的时候就的带上前缀,下面有条没用的sql语句作为实例$prefix=config("database.connections... 查看详情

MySQL Workbench 中函数的颜色代表啥?

...题描述】:在MySQLWorkbench中,有很多用于执行不同任务的内置函数。有些功能只是同义词。但我注意到同义函数有时具有不同的颜色表示。比如,curdate()是灰色 查看详情

mysql数据库之函数流程控制(代码片段)

函数注意与存储过程的区别,mysql内置的函数只能在sql语句中使用!参考博客:http://www.cnblogs.com/linhaifeng/articles/7495918.html#_label2CREATETABLEblog(idINTPRIMARYKEYauto_increment,NAMECHAR(32),sub_timedatetime);?INSERTINTOblog(NAME 查看详情

加密解密,mysql单行函数,数学函数字符串日期时间,流程控制,完整详细可收藏查询sql(代码片段)

...效率。从函数定义的角度出发,我们可以将函数分成内置函数和自定义函数。在SQL语言中,同样也包括了内置函数和自定义函数。内置函数是系统内置的通用函数,而自定义函数是我们根据自己的需要编写的。1.2不同... 查看详情

硬核整理四万字,学会数据库只要一篇就够了,盘它!mysql基本操作以及常用的内置函数汇总整理(代码片段)

🧡💛💚💙💜🤎💗🧡💛💚💙💜🤎💗感谢各位一直以来的支持和鼓励,制作不易🙏求点赞👍➕收藏⭐➕关注✅一键三连走起来!!!🧡 查看详情

mysql内置变量查询

查看存储引擎:mysql>showengines;查看innodb引擎有关所有变量:mysql>showVARIABLESLIKE"%innodb%";mysql>SHOWVARIABLES;设置每个表独立使用一个表空间[[email protected]~]#echo"innodb_file_per_table=1">>/etc/my.cnf重启生效:[[ 查看详情

javascript原生函数(内置函数)

1、JavaScript原生函数(内置函数)JavaScript原生函数(内置函数)有:String()Number()Boolean()Array()Object()Function()RegExp()Date()Error()Symbol()2、创建内置函数<!DOCTYPEhtml><htmllang="zh"><head><metacharset= 查看详情