北京做网站的人,广东网站建设服务商,东莞东城国际酒店,nas wordpress外网文章目录 MySQL 内置函数日期和时间函数字符串函数数学函数信息函数参考资料 MySQL 内置函数
MySQL 的内置函数主要分为以下几种#xff1a;
字符串函数#xff1a;用于对字符串进行操作#xff0c;如连接、截取、替换、反转、格式化等。数值函数#xff1a;用于对数值进… 文章目录 MySQL 内置函数日期和时间函数字符串函数数学函数信息函数参考资料 MySQL 内置函数
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、seconddate_sub(date, interval d_value_type)在 date 中减去日期或时间interval 后的数值单位可以是year、month、day、hour、minute、seconddatediff(date1, date2)获取两个日期的差单位是天
current_date 函数、current_time 函数、current_timestamp 函数和 now 函数获取当前日期、时间、时间戳以及当前日期时间 date 函数获取获取 datetime 参数的日期部分 在已有日期的基础上添加日期或时间 操作的单位可以是日期或时间根据原有的日期或时间而可以精确到秒数。
date_sub 函数的功能完全相同只是它对已有日期或时间操作的是减法运算。
获取两个日期的差单位是天 日期和时间是数据的一种属性例如在网上发表评论需要用日期和时间标记。
评论测试表 插入记录并查询 用户可能不需要这么精确的日期或时间对于比较久远的评论可以只精确到天 如果要查询 2 分钟之前的评论就可能需要用若干函数组合来查询了 字符串函数
常用字符串函数有
函数名称描述charset(str)获取字符串使用的字符集concat(str1, str2 [, …])获取连接后的字符串instr(str, substr)获取 substr 在 str 中首次出现的位置没有出现返回 0ucase(str)获取转换成大写后的字符串lcase(str)获取转换成小写后的字符串left(str, length)从字符串的左边开始向后截取 length 个字符length(str)获取字符串占用的字节数replace(str, search_str, replace_str)将字符串中的 search_str 替换成 replace_strstrcmp(str1, str2)逐字符比较两个字符串的大小substring(str, position [, length])从字符串的 position 开始向后截取 length 个字符ltrim(str)、rtrim(str)、trim(str)去除字符串的前空格、后空格、前后空格
charset 函数用来返回指定字符串的字符集。字符集是一种给定一系列字符并赋予对应的编码的方式。例如给定字符列表为 {‘A’,’B’}时 {‘A’0, ‘B’1}就是一个字符集。
例如查看这张员工雇佣表中名字这一列的字符集 concat 函数按参数顺序连接字符串。例如将上面的雇佣表的列属性按照如下方式连接成一个字符串。 instr 函数获取一个字符串在另一个字符串中首次出现的位置如果没有出现则返回 0。 ucase 函数获取转换成大写后的字符串。 lcase 函数获取转换成小写后的字符串。 left 函数从字符串的左边开始向后截取指定个数的字符。 length 函数获取字符串占用的字节数。 值得注意的是这个函数返回的是字节数而不是字符数如果是汉字utf8 占 3 个字节gbk 占 2 个字节。
replace 函数将字符串中的指定子字符串替换成另一个字符串。 strcmp 函数逐字符按照 ASCII 码比较两个字符串的大小两个字符串大小相等返回 0前者大返回 1后者大返回 - 1。且不区分大小写。 substring 函数从字符串的指定位置开始向后截取指定个数的字符。 trim 函数去除字符串的前后空格。
ltrim 和 rtrim 函数去除字符串的前空格和后空格。 以首字母小写的方式显示员工表中所有员工的姓名
substring 函数和 lcase 函数将姓名的第一个字母转换成小写。substring 函数截取员工姓名的第二个字符及其后续字符。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 函数获取参数绝对值。 bin 函数和 hex 函数将参数转换为二进制或十六进制
conv 函数进制转换。 ceiling 函数对参数向上取整。 floor 函数对参数向下取整。 format 函数对参数格式化以四舍五入的方式保留指定位数的小数。 rand 函数生成 0.0 到 1.0 的随机浮点数。 如果想要生成 0 到 100 的随机数可以用生成的随机浮点数乘以 100然后再取整。 mod 函数对参数求余。 信息函数
user 函数获取 MySQL 连接的当前用户名和主机名。 md5 函数对一个字符串进行 md5 摘要摘要后得到一个 32 位字符串。 md5 是一种密码散列函数它可以将任意长度的信息映射为固定长度通常为 32bit的哈希值。它具有不可逆性、唯一性和抗碰撞性。并且由于哈希算法的雪崩效应即使被加密的信息发生了一个很微小的改动也会使得最后的哈希值变得完全不同。这是因为密码哈希算法通常采用对轮迭代和复杂的非线性变换使得输入的每一位都会影响输出的每一位信息安全专业的同学应该会比较了解。
在工业应用中持久化存储用户的账号和密码这样的私密信息时为了用户的安全是不会存储明文的而是存储它的摘要在验证时也是也是以同样的方式对用户输入的密码进行摘要通过与数据库中的哈希值比较以验证用户身份。
这么做也有一个好处不论用户的密码多长加密得到的哈希值总是固定的这样在设计表时就可以用固定长度的列存储密码摘要。
database 函数显示当前正在使用的数据库。 password 函数对用户数据进行加密。 另外像 password 这样涉及用户隐私的函数它不会被保存在 MySQL 的历史命令中键盘上下方向键查看。
ifnull 函数接受两个参数如果第一个参数不为 null 则返回第一个参数值否则返回第二个参数值。 参考资料
MySQL 函数|菜鸟教程MySQL 内置函数