最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

日期和时间处理函数及数值处理函数实例(数据处理函数的使用二)

来源:懂视网 责编:小采 时间:2020-11-09 09:01:30
文档

日期和时间处理函数及数值处理函数实例(数据处理函数的使用二)

日期和时间处理函数及数值处理函数实例(数据处理函数的使用二):日期和时间处理函数日期和时间才用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、和处理这些值。由于这个原因,日期和时间函数在
推荐度:
导读日期和时间处理函数及数值处理函数实例(数据处理函数的使用二):日期和时间处理函数日期和时间才用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、和处理这些值。由于这个原因,日期和时间函数在
日期和时间处理函数

日期和时间才用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。

一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、和处理这些值。由于这个原因,日期和时间函数在MySQL语言中具有重要的作用。

下表列出了某些常用的日期和时间处理函数:

QQ截图20170505140625.png

这是重新复习有where进行数据过滤的一个好时机。迄今为止,我们都是用比较数值和文本的where子句过滤数据,但数据经常需要用日期进行过滤。用日期进行过滤需要注意一些别的问题和使用特殊的MySQL函数。

首先需要注意的是MySQL使用的日期格式。无论你什么时候指定一个日期,不管是插入或更新表值还是用where子句进行过滤,日期必须为格式yyyy-mm-dd。因此,2005年9月1日,给出为2005-09-01.虽然其他的日期格式可能也行,但这是首选的日期格式,因为它排除了多义性(如,04/05/06是2006年5月4日或2006年4月5日或2004年5月6日或...)。

应该总是使用4位数字的年份,支持2位数字的年份,MySQL处理00-69为2000-2069,处理70-99为1970-1999。虽然它们可能是打算要的年份,但使用完整的4为数字年份更可靠,因为MySQL不必做出任何假定。

因此,基本的日期比较应该很简单:

输入:

select cust_id,order_num from orders where order_date = '2005-09-01';

输出:

QQ截图20170505143509.png

分析:此select语句正常运行。它检索出一个订单记录,该订单记录的order_date为2005-09-01。

但是,使用 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()函数。Date(order_date)指示MySQL仅提取列的日期部分,更可靠的select语句为:

输入:

select cust_id,order_num from orders where Date(order_date) = '2005-09-01';

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

Date()和Time()都是在MySQL4.1.1中第一次引入的。

在你知道了如何用日期进行相等测试后,其他操作符的使用也就很清楚了。

不过,还有一种日期比较需要说明。如果你想检索出2005年9月下的所有订单,怎么办?简单的相等测试不行,因为它也要匹配月份中的天数。有几种解决办法,其中之一如下所示:

输入:

select cust_id,order_num from orders where Date(order_date) between '2005-09-01' and '2005-09-30';

输出:

QQ截图20170505145827.png

分析:其中,between操作符用来把2005-09-01和2005-09-30定义为一个要匹配的日期范围。

数值处理函数

数值处理函数仅处理数值数据。这些函数一般主要用于代数、三角或几何运算,因此没有串或者日期-时间处理函数使用的那么频繁。

具有讽刺意味的是,在主要DBMS的函数中,数值函数是最一直最统一的函数。下表列出一些常用的数值处理函数:

QQ截图20170505150212.png

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

日期和时间处理函数及数值处理函数实例(数据处理函数的使用二)

日期和时间处理函数及数值处理函数实例(数据处理函数的使用二):日期和时间处理函数日期和时间才用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、和处理这些值。由于这个原因,日期和时间函数在
推荐度:
标签: 处理 数据 日期
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top