SQL DATE(日期函数)

来源:互联网 发布:ipv6没有网络访问权限 编辑:程序博客网 时间:2024/06/06 12:57

SQL DATE 函数


SQL 日期

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

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

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


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 日期处理

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

假设我们有下面这个 "Orders" 表:

OrderIdProductNameOrderDate1computer2008-12-262printer2008-12-263electrograph2008-11-124telephone2008-10-19

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

我们使用如下 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

结果集:

OrderIdProductNameOrderDate1computer2008-12-263electrograph2008-12-26

现在假设 "Orders" 类似这样(请注意 "OrderDate" 列中的时间部分):

OrderIdProductNameOrderDate1computer2008-12-26 16:23:552printer2008-12-26 10:45:263electrograph2008-11-12 14:12:084telephone2008-10-19 12:56:10

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

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

那么我们得不到结果。这是由于该查询不含有时间部分的日期。

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

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 动图不动 动图秀 静态动图 机械动图 怎样制作动图 动图16p 成人 动图 羽毛球动图 如何制作动图 割双眼皮动图 亲亲动图 可爱卡通动图 大力水手动图 动图下载 红包动图 风景动图 蝴蝶动图 怎么做gif动图 牵手动图 美丽动图 动图吧 动图h 动图在线制作 明星动图 制作动图软件 网页制作动图 鱼动图 动图图片 帅哥动图 玫瑰花动图 健身 动图 吻动图 欧美动图100p 搞笑的动图 火锅动图 猪动图 搞笑gif动图 樱花动图 恐龙动图 动图100p 手机动图软件