美文网首页
Mysql第十一章数据处理函数

Mysql第十一章数据处理函数

作者: 足__迹 | 来源:发表于2024-08-15 09:40 被阅读0次

同大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。
注意点:

函数没有SQL的可移植性强 能运行在多个系统上的代码称为可移植的(portable)。相对来说,多数SQL语句是可移植的,在SQL实现之间有差异时,这些差异通常不那么难处理。而函数的可移植性却不强。几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。 为了代码的可移植,许多SQL程序员不赞成使用特殊实现的功能。虽然这样做很有好处,但不总是利于应用程序的性能。如果不使用这些函数,编写某些应用程序代码会很艰难。必须利用其他方法来实现DBMS非常有效地完成的工作。 如果你决定使用函数,应该保证做好代码注释,以便以后你(或其他人)能确切地知道所编写SQL代码的含义。

使用函数

文本处理函数
  • Upper()函数 将文本转换为大写
    输入:SELECT UPPER('aaa')
    输出:


    image.png
常用的文本处理函数
函数 说明 举例
left(str,num) 返回错左边的字符 SELECT LEFT('AABBCCDD',2)
length() 返回串的长度 SELECT LENGTH('AABBCCDDEEFFGG')
locate() 返回串的子串 select LOCATE('aa','AABBccaa',2)
lower() 将串转换为小写 SELECT LOWER('AABBCCDD')
UPPER() 将串转换为大写 SELECT UPPER('aaa')
LTRim() 去掉串左边的空格
RTrim() 去掉串右边的空格
Trim() 去掉串两边的空格
日期和时间处理函数
函数 说明 举例
CURDATE() 返回当前日期 select CURDATE()
CURTIME() 返回当前时间 select CURTIME()
Now() 返回当前日期和时间
Date() 返回日期时间的日期部分 select Date('2023-08-07 00:00:00')
DAY() 返回一个日期的天数部分 select DAY('2023-08-07 00:00:00')
DayOfWeek() 对于一个日期,返回对应的星期几
Month() 返回一个日期的月份部分
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Second() 返回一个时间的秒部分
DateDiff() 计算两个日期之差 select DateDiff('2023-08-07 00:00:00','2023-08-15 00:00:00')
Date_Add() 高度灵活的日期运算函数 SELECT DATE_ADD('2023-01-01', INTERVAL 2 MONTH 3 DAY);
Now() 返回当前日期和时间
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
举例:
  • 输入:select * from order where order_date='2005-09-01'
  • 输出: image.png

分析: 使用WHERE order_date = '2005-09-01'可靠吗?order_ date的数据类型为datetime。这种类型存储日期及时间值。样例表中的值全都具有时间值00:00:00,但实际中很可能并不总是这样。如果用当前日期和时间存储订单日期(因此你不仅知道订单日期,还知道下订单当天的时间),怎么办?比如,存储的order_date值为
2005-09-01 11:30:05,则WHERE order_date = '2005-09-01'失败。即使给出具有该日期的一行,也不会把它检索出来,因为WHERE匹配失败。解决办法是指示MySQL仅将给出的日期与列中的日期部分进行比较,而不是将给出的日期与整个列值进行比较。为此,必须使用Date()函数

  • 输入:select * from order where date(order_date)='2005-09-01'
  • 输出: image.png

分析:使用Date()是一个良好的习惯,即使你知道相应的列只包含日期也是如此。这样,如果由于某种原因表中以后有日期和时间值,你的SQL代码也不用改变。当然,也存在一个Time()函数,在你只想要时间时应该使用它。

  • 输入:select * from order where Year(order_date)='2005' and Month(order_date)=9

分析: Year()是一个从日期(或日期时间)中返回年份的函数。类似,Month()从日期中返回月份。因此,WHEREYear(order_date)= 2005 AND Month(order_date) = 9检索出order_date为2005年9月的所有行。

数值处理函数

函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切

相关文章

  • MySQL 11-12章实操

    第十一章 使用数据处理函数 文本处理函数[常用的文本处理函数说明表] 常用的文本处理函数中locate()和sub...

  • 必知必会-第十一章

    使用数据处理函数 本章记录常用的mysql函数。 函数 与大多数编程语言一样,sql也支持函数来处理数据。就像上一...

  • MySQL数据处理函数

    1、函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和...

  • MySQL必知必会系列二

    读完MySQL必知必会系列一,我们可以进一步了解MySQL中的数据处理函数,分组查询,联结表,以及组合查询的相关内...

  • MySQL使用数据处理函数

    使用数据处理函数 1. 文本处理函数 ​ SOUNDEX是一个将任何文本转换为其语音表示的字母数字模式的算法。...

  • Python爬虫小分队课程视频集

    课程视频 程工 Xpath语法解析 Json解析 mysql自动建表插入数据 函数和类封装调用 数据处理etl-e...

  • 【MySQL必知必会】学习笔记Day5

    【MySQL必知必会】学习笔记Day5&1.25&D11-12章&P68-82页 9、使用数据处理函数 (1) 文...

  • MySQL 数据处理函数的使用

    计算字段Concat()函数Concat(),拼接串,即把多个串连接起来形成一个较长的串。需要一个或多个指定的串,...

  • Mysql 使用数据处理函数(八)

    本节将简单介绍什么是函数, MySQL支持何种函数,以及如何使用这些函数 文本处理函数 upper() 函数可以将...

  • 第十一章 Caché 函数大全 $DATA 函数

    第十一章 Caché 函数大全 $DATA 函数 检查变量是否包含数据。 大纲 参数 variable 要检查其状...

网友评论

      本文标题:Mysql第十一章数据处理函数

      本文链接:https://www.haomeiwen.com/subject/hmpskjtx.html