在Oracle中使用时间函数to_date习惯了,在Oracle中时间的加减也非常简单,直接加减即可。在Mysql中时间的函数很多,非常自由。
在项目中经常用到的就是时间的加减。
比如60天前,Oracle中直接就是sysdate-60,Mysql中就不行。
对时间加减的函数是
加ADDDATE(),减SUBDATE();
select SUBDATE(now(),interval 60 day); 60天前的时间
select ADDDATE(now(),interval 60 day); 60天后的时间
在Oracle中经常用到trunc(sysdate,'D'),截取到天或者到小时。
在Mysql中可以用date_format()来代替。返回的是时间格式的字符串,也是时间
在Mysql中只要符合时间格式的字符串就可以当做Date类型。
取今天时间到天,
mysql> select DATE_FORMAT(now(),'%Y%m%d');
+-----------------------------+
| DATE_FORMAT(now(),'%Y%m%d') |
+-----------------------------+
| 20100611 |
+-----------------------------+
1 row in set (0.00 sec)
取到小时。
mysql> select DATE_FORMAT(now(),'%Y%m%d%H');
+-------------------------------+
| DATE_FORMAT(now(),'%Y%m%d%H') |
+-------------------------------+
| 2010061121 |
+-------------------------------+
1 row in set (0.00 sec)
Mysql中直接比较时间大小也是不能用>或<
只能转换成数字来比较大小。
如果比较天的大小,1号小于2号。需要转换成到现在为止的天数。用到的是to_days(),
mysql> select to_days('20100602');
+---------------------+
| to_days('20100602') |
+---------------------+
| 734290 |
+---------------------+
1 row in set (0.00 sec)
mysql> select to_days('20100603');
+---------------------+
| to_days('20100603') |
+---------------------+
| 734291 |
+---------------------+
1 row in set (0.00 sec)
如果时间的比较很精确,精确到时秒分就需要转换成UNIX_TIMESTAMP,换算成毫秒值来比较大小。
mysql> select UNIX_TIMESTAMP('201006021700');
+--------------------------------+
| UNIX_TIMESTAMP('201006021700') |
+--------------------------------+
| 1601921820 |
+--------------------------------+
1 row in set (0.00 sec)
mysql> select UNIX_TIMESTAMP('201006021800');
+--------------------------------+
| UNIX_TIMESTAMP('201006021800') |
+--------------------------------+
| 1601921880 |
+--------------------------------+
1 row in set (0.00 sec)
分享到:
相关推荐
mysql时间比较,两个事件类型的字段比较大小,以及时间加减计算,例子
资源包含文件: 1、MySQL命令行导出数据库.txt 2、MySQL字段数据类型和长度.sql 3、usefullSQL.sql 4、编码.txt usefullSQL包含有: ...日期操作:求差,加减,UTC时间,时区(timezone)转换等 查看表空间大小
2、对数据类型的列可进行运算(如加减乘除)。 3、对列起别名:有直接起别名,加AS起别名,用双引号起别名等三种方法 (单引号,引起字符串;双引号,引起别名。起别名有符号,或者区分大小写时,必须用双引号) 多...
MySQL5.0(安装MySQL版必须,大小1G左右) 空间大小:1G(纯文字) 服务器建议配置: 操作系统: 中文Windows2000/2003 CPU:P4 2.6G以上 内存:512MB以上 MSSQL2000/以上版本(安装SQL版必须,大小1G以上)...
│ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 工作日处理函数(自定义节假日).sql...
│ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列表的函数.sql │ │ ...
1060 网吧维护\资料\FW\ASP中五种连接数据库的方法.TXT 5239 网吧维护\资料\FW\ASP实现对SQL SERVER 数据库的操作.TXT 2945 网吧维护\资料\FW\MYSQL.TXT 11239 网吧维护\资料\FW\WIN2000SERVER安全设置的一些小技巧....