SQL Date 函数
来源:互联网 发布:樱井知香2016最新作品 编辑:程序博客网 时间:2024/05/29 13:28
SQL 日期
select date_format(now(),'%Y-%m-%d %H:%i:%s') as '日期' from test
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。
只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。
在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。
MySQL Date 函数
下面的表格列出了 MySQL 中最重要的内建日期函数:
DATE_FORMAT定义和用法
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。
语法
DATE_FORMAT(date,format)
date 参数是合法的日期。format 规定日期/时间的输出格式。
可以使用的格式有:
%S, %s 两位数字形式的秒( 00,01, . . ., 59)
%i 两位数字形式的分( 00,01, . . ., 59)
%H 两位数字形式的小时,24 小时(00,01, . . ., 23)
%h, %I 两位数字形式的小时,12 小时(01,02, . . ., 12)
%k 数字形式的小时,24 小时(0,1, . . ., 23)
%l 数字形式的小时,12 小时(1, 2, . . ., 12)
%T 24 小时的时间形式(hh : mm : s s)
%r 12 小时的时间形式(hh:mm:ss AM 或hh:mm:ss PM)
%p AM 或P M
%W 一周中每一天的名称( Sunday, Monday, . . ., Saturday)
%a 一周中每一天名称的缩写( Sun, Mon, . . ., Sat)
%d 两位数字表示月中的天数( 00, 01, . . ., 31)
%e 数字形式表示月中的天数( 1, 2, . . ., 31)
%D 英文后缀表示月中的天数( 1st, 2nd, 3rd, . . .)
%w 以数字形式表示周中的天数( 0 = Sunday, 1=Monday, . . ., 6=Saturday)
%j 以三位数字表示年中的天数( 001, 002, . . ., 366)
% U 周(0, 1, 52),其中Sunday 为周中的第一天
%u 周(0, 1, 52),其中Monday 为周中的第一天
%M 月名(January, February, . . ., December)
%b 缩写的月名( January, February, . . ., December)
%m 两位数字表示的月份( 01, 02, . . ., 12)
%c 数字表示的月份( 1, 2, . . ., 12)
%Y 四位数字表示的年份
%y 两位数字表示的年份
%% 直接值“%”
实例
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:
select date_format(now(),'%Y-%m-%d %H:%i:%s') as '日期' from test
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')DATE_FORMAT(NOW(),'%m-%d-%Y')DATE_FORMAT(NOW(),'%d %b %y')DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y'); mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s'); mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%D %y %a %d %m %b %j'); mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w'); mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
结果类似:
Dec 29 2008 11:45 PM12-29-200829 Dec 0829 Dec 2008 16:25:46.635
-> 'Saturday October 1997' -> '22:23:00' -> '4th 97 Sat 04 10 Oct 277' -> '22 22 10 10:23:00 PM 22:23:00 00 6' -> '1998 52'
SQL Server Date 函数
下面的表格列出了 SQL Server 中最重要的内建日期函数:
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" 表:
现在,我们希望从上表中选取 OrderDate 为 "2008-12-26" 的记录。
我们使用如下 SELECT 语句:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
结果集:
现在假设 "Orders" 类似这样(请注意 "OrderDate" 列中的时间部分):
如果我们使用上面的 SELECT 语句:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
那么我们得不到结果。这是由于该查询不含有时间部分的日期。
提示:如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!
- SQL Date 函数
- SQL Date 函数
- SQL Date 函数
- SQL Server Date 函数
- SQL Server Date 函数
- SQL Date 函数
- SQL Date 函数
- SQL Date 日期函数
- SQL Server Date 函数
- SQL Date 函数
- SQL Date 函数
- SQL Date 函数
- SQL Date 函数 高级教程
- SQL DATE(日期函数)
- 数据库操作 SQL Date 常用函数
- SQL 高级(7) Date 函数
- SQL Server几个常用date函数
- SQL Date + -
- 基本原则和基本分析技术的方法
- 发现提供的最好的增长潜力
- C#与VB.NET 代码转换网站
- 很大的鼓舞找到赚钱的股票交易
- hadoop eclipse plugin 插件
- SQL Date 函数
- flash如何同时访问本地文件系统和网络文件
- 【面试】面试经典问答和回答思路
- Hibernate中悲观锁和乐观锁
- GNU ARM汇编--(三)ARM处理器的基本原则
- 测试转开发,一个女孩子短短的工作心得
- select_socket 网络超时编程实例
- 程序员笔试题--2012百度实习生笔试题
- S3C6410裸机驱动5'TFT LCD