首页 > 数据库 >【SQL数据库技术开发】第41课时-数据库SQL Date 函数

【SQL数据库技术开发】第41课时-数据库SQL Date 函数

时间:2024-09-09 08:57:36浏览次数:13  
标签:11 00 MM 数据库 41 日期 SQL 格式

SQL Date 函数


SQL 日期(Dates)

Note

当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。

只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。

在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。


MySQL Date 函数

下面的表格列出了 MySQL 中最重要的内建日期函数:

函数描述
NOW()返回当前的日期和时间
CURDATE()返回当前的日期
CURTIME()返回当前的时间
DATE()提取日期或日期/时间表达式的日期部分
EXTRACT()返回日期/时间的单独部分
DATE_ADD()向日期添加指定的时间间隔
DATE_SUB()从日期减去指定的时间间隔
DATEDIFF()返回两个日期之间的天数
DATE_FORMAT()用不同的格式显示日期/时间


SQL Server Date 函数

下面的表格列出了 SQL Server 中最重要的内建日期函数:

函数描述
GETDATE()返回当前的日期和时间
DATEPART()返回日期/时间的单独部分
DATEADD()在日期中添加或减去指定的时间间隔
DATEDIFF()返回两个日期之间的时间
CONVERT()用不同的格式显示日期/时间


SQL Date 数据类型

MySQL 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式:YYYY-MM-DD
  • DATETIME - 格式:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS
  • YEAR - 格式:YYYY 或 YY

SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式:YYYY-MM-DD
  • DATETIME - 格式:YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - 格式:YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式:唯一的数字

注释:当您在数据库中创建一个新表时,需要为列选择数据类型!

如需了解所有可用的数据类型,请访问我们完整的 数据类型参考手册


SQL 日期处理

Note

如果不涉及时间部分,那么我们可以轻松地比较两个日期!

假设我们有如下的 "Orders" 表:

OrderIdProductNameOrderDate
1Geitost2008-11-11
2Camembert Pierrot2008-11-09
3Mozzarella di Giovanni2008-11-11
4Mascarpone Fabioli2008-10-29

现在,我们希望从上表中选取 OrderDate 为 "2008-11-11" 的记录。

我们使用下面的 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

结果集如下所示:

OrderIdProductNameOrderDate
1Geitost2008-11-11
3Mozzarella di Giovanni2008-11-11

现在,假设 "Orders" 表如下所示(请注意 "OrderDate" 列中的时间部分):

OrderIdProductNameOrderDate
1Geitost2008-11-11 13:23:44
2Camembert Pierrot2008-11-09 15:45:21
3Mozzarella di Giovanni2008-11-11 11:12:01
4Mascarpone Fabioli2008-10-29 14:56:59

如果我们使用和上面一样的 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

或

SELECT * FROM Orders WHERE OrderDate='2008-11-11 00:00:00'

那么我们将得不到结果!因为表中没有"2008-11-11 00:00:00"日期。如果没有时间部分,默认时间为 00:00:00。

提示:如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!

标签:11,00,MM,数据库,41,日期,SQL,格式
From: https://blog.csdn.net/xzs51job/article/details/142043183

相关文章

  • 多连接数据库管理工具Navicat Premium 16 for Mac
    NavicatPremium16forMac是一款功能强大且易于使用的多连接数据库管理工具。软件下载地址一、主要功能无缝数据迁移:数据传输、数据同步和结构同步功能可助力轻松、快速地迁移数据,降低开销。提供跨各种数据库管理系统(DBMS)传输数据的详细分步指导。可比较和同步数据库,在......
  • [MySQL表的增删改查-进阶]
    ......
  • MySQL---1、初始MySQL数据库
    一、什么是数据库(一)数据库简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合(二)数据库管理系统......
  • 20240909_041725 c语言 代码注释 两种
    两种注释注释示例......
  • MySQL索引学习记录(创建、删除、优缺点、底层结构、生失效原则等等)
    1.认识索引1.什么是索引MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。将数据......
  • 高校就业管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt
    高校就业管理系统|全套源码+文章lw+毕业设计+课程设计+数据库+ppt中文摘要本论文主要讲述了基于SSM框架及MySQL数据库实现的就业管理系统的设计和开发过程。本论文中所讲的就业管理系统是通过所学的知识创办一个非商业性的网站平台,使所有想要就业信息查看的高校毕业生们与......
  • 租赁|基于SpringBoot的网上租赁系统(源码+数据库+论文)
    基于SpringBoot的网上租赁系统目录一、摘要二、相关技术三、系统设计                 3.1整体功能设计图                 3.2功能具体细节设计   四、数据库设计  五、核心代码   六、论文参考 七、源码获取:一、......
  • AtCoder Beginner Contest 241 (Sponsored by Panasonic) D~F 题解
    D-SequenceQuery题目大意我们有一个空序列\(A\)。请依次处理\(Q\)个命令,每个命令有三种类型,每种类型的格式如下:1x:将\(x\)加入\(A\)(不去重)2xk:求在\(A\)的\(\lex\)的元素中,第\(k\)大的值。3xk:求在\(A\)的\(\gex\)的元素中,第\(k\)小的值。\(1\leQ\le2\times10^5......
  • MySQL面试笔试题(基础题)
     1、取得每个部门最高薪水的人员的名称selectenamefromempe,(selectdeptno,max(sal)max_salfromempgroupbydeptno)each_dept_max_salwheree.deptno=each_dept_max_sal.deptnoande.sal=each_dept_max_sal.max_sal;2、哪些人的薪水在部门的平均薪水之上select......
  • 微信小程序 云数据库 Collection/Query .orderBy 用法
    Collection.orderBy/Query.orderBy指定查询排序条件方法签名如下:functionorderBy(fieldName:string,order:string):Collection|Query方法接受一个必填字符串参数fieldName用于定义需要排序的字段,一个字符串参数order定义排序顺序。order只能取asc或desc。如果需要......