MySQL内置函数

目录

一.日期函数

二.字符串函数

1.charset

2.concat

3.length

4.substring

5.replace

6.ucase、lcase

(1)ucase

(2)lcase

7.instr

8. strcmp

9.left、right

(1)left

(2)right

10.ltrim、rtrim、trim

(1)trim

(2)ltrim

(3)rtrim

三.数学函数

1.abs 

2.bin

3.hex

4.conv

5.ceiling

6.floor

7.rand

8.format

9.mod

四.其它函数

1.user()

2.md5

3.password

4.ifnull(val1, val2)


前言:这一篇介绍MySQL的一些内置函数,如日期函数、字符串函数、数学函数,以及一些其它的函数。

一.日期函数

        当前日期、当前时间: 

        当前时间戳:

        创建birth表:

        可以使用函数插入数据:

        变更为datetime

        插入当前日期及时间。

        now函数不能单独用,需要配合select使用,得到当前日期及时间。

也可以用date只要日期:

        可以在日期的基础上增加日期或者减少日期:

        分别为date_add函数和date_sub函数,需要用interval。

        可以使用now函数:

        也可以减去分钟:

datediff可以计算两个日期的差:

        这里是负的是因为前者减后者。

        now函数也是可以的:

        创建表:

        插入信息:

        看看有几条:

        查询2分钟内发送的消息:

        目前是没有的,那就插入几个再查询:

        插入几个后再查找就能找到了。 

二.字符串函数

1.charset

        返回字符串的字符集。 

         charset是用来返回字符串字符集的,这里字符串默认的字符集都是utf8,所以返回显示的就是utf8。

        这个时间返回的字符集则是binary。

        如果插入数据后显示为乱码,那么就可以通过charset查看是否是编码问题。

2.concat

        将字符串连接起来。

用法:

3.length

        求字符串的长度,结果的单位是字节。 

4.substring

        截取字符串,第一个参数是要截取的字符串,第二个参数是从哪个位置开始截取,第三个参数是要截取几个字符串。 

        这个函数与string中的substr的用法基本相同,但是要注意的是,下标是从1开始的,如果写0,那么就什么都没有。

        这里截取是按照字符截取的,而不是按照字节。

5.replace

        第一个参数是想要该边的字符串,第二个参数是要改变什么,第三个参数是要将字符串中的第二个参数改变成什么。

        这个改变,是将所有为xyz的都改成的XYZ。 

6.ucase、lcase

(1)ucase

        将字母转换为大写。

(2)lcase

        将字母转换为小写。

        以首字母小写的方式显示所有的名字:

        首先通过substring截取字符串分割成两端,再通过lcase将首字母转换为小写。

        然后再通过concat连接上。

         最后重命名为newname。

7.instr

        返回该串(第二个参数)在字符串(第一个参数)中出现的位置,如果没有出现就返回0。instr也是以字符为单位的。

        查找名字中有O的:

        可以使用like+where查找。 

        也可以使用instr+where查找。

8. strcmp

        字符串大小比较,如果相等返回0,如果前面的大返回1,如果后面的大返回-1。

        筛选job为CLERK的:

        直接用where。

        使用strcmp函数,这里一定要写上=0。

         否则,所有>CLERK的job都会显示出来。

9.left、right

(1)left

        从左边开始取字符,是以字符为单位的:

(2)right

        从右边开始取字符,是以字符为单位的:

10.ltrim、rtrim、trim

        去除前空格或后空格。

(1)trim

        可以把前空格和后空格都去除。

(2)ltrim

        可以去除前空格。

(3)rtrim

        可以去除后空格。 

三.数学函数

1.abs 

        绝对值。 

        这里只筛选出了绝对值大于1000的sql语句。

2.bin

        十进制转换为二进制。 

3.hex

        十进制转换为十六进制。

4.conv

        进制转换:将一个数字从什么进制转换到什么进制。

 

5.ceiling

        向上取整。

        即向正半轴方向去整。

6.floor

        向下取整。

        即向负半轴方向去整。

7.rand

        返回随机浮点数,范围是[0.0, 1.0)

        也可以通过乘一个数来变更其范围。

8.format

        格式化。选择要格式化的数据所要保留的精度的位数(即小数位数)。

9.mod

        取模,求余。

可以求正数的:

也可以求负数的:

小数也可以:

 

可以求工资不能被100整除的和能被100整除的。

四.其它函数

1.user()

        查询当前用户。

        这个mysql是安装mysql时一定有的数据库。

 

        里面的表是数据库安装的一些基本信息。 

        用户的所有信息就是在这个user表中。

         user()函数的本质就是显示了这里的信息。

2.md5

        对一个字符串进行md5摘要,摘要后得到一个32位字符串。

        这个authentication_string表示认证密码。

        这个和md5形成的摘要的位数不同,这个是41位,md5是32位,但是本质上是相同的。

        当记录用户信息的密码时,不能明文的直接显示密码,因此就可以用到md5形成摘要,防止泄密。

 

        使用了md5后,sql语句中是不会记录那个insert语句的。

        当用户输入密码登陆时,采用下面的方式来验证是否密码正确(对密码的比较,本质上是对摘要的比较)

3.password

        mysql使用该函数对其加密:

        MySQL有自己独特的加密方式,本质上与md5形成摘要是一样的,但是密码强度更强。

4.ifnull(val1, val2)

       如果val1为null,返回val2,否则返回val1的值。

        类似于三目运算符。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰果滴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值